Skip to content

Language syntax highlight (PrismJS) : language dependency order #1952

Closed
@noraj

Description

@noraj

Feature request

What problem does this feature solve?

PrismJS/prism#3302

The issue is that Prism's languages have dependencies, so you have to load them in the right order. For example, Arduino requires C++ or Crystal requires Ruby, etc.

The documentation suggest you load 1 plugin for 1 language manually: https://docsify.js.org/#/language-highlight

So for example I did that and loaded them alphabetically.

  <script src="vendor/prismjs/components/prism-bash.min.js"></script>
  <script src="vendor/prismjs/components/prism-crystal.min.js"></script>
  <script src="vendor/prismjs/components/prism-elixir.min.js"></script>
  <script src="vendor/prismjs/components/prism-go.min.js"></script>
  <script src="vendor/prismjs/components/prism-java.min.js"></script>
  <script src="vendor/prismjs/components/prism-julia.min.js"></script>
  <script src="vendor/prismjs/components/prism-lua.min.js"></script>
  <script src="vendor/prismjs/components/prism-nim.min.js"></script>
  <script src="vendor/prismjs/components/prism-perl.min.js"></script>
  <script src="vendor/prismjs/components/prism-php.min.js"></script>
  <script src="vendor/prismjs/components/prism-powershell.min.js"></script>
  <script src="vendor/prismjs/components/prism-python.min.js"></script>
  <script src="vendor/prismjs/components/prism-ruby.min.js"></script>
  <script src="vendor/prismjs/components/prism-rust.min.js"></script>

But it results in this error since Crystal is loaded before Ruby.

image

What does the proposed API look like?

N/A

How should this be implemented in your opinion?

Maybe do something with the autoloader plugin. So we don't have to includes all the scripts manually. Or maybe whitelist the language to load in the configuration and handle the load order depending on the dependencies order.

Are you willing to work on this yourself?

No

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions