fix(highlightjs): loading all supported languages at once

This commit is contained in:
Elian Doran 2025-05-18 16:11:40 +03:00
parent b0ebeb22d5
commit 488761d4b9
No known key found for this signature in database
2 changed files with 94 additions and 94 deletions

View File

@ -24,7 +24,7 @@ export async function ensureMimeTypes(mimeTypes: MimeType[]) {
continue;
}
const language = (await loader).default;
const language = (await loader()).default;
hljs.registerLanguage(mime, language);
}
}

View File

@ -1,172 +1,172 @@
import { normalizeMimeTypeForCKEditor } from "@triliumnext/commons";
import type { LanguageFn } from "highlight.js";
type MimeRecord = Record<string, (Promise<{ default: LanguageFn}> | null)>;
type MimeRecord = Record<string, (() => Promise<{ default: LanguageFn}>) | null>;
const byMimeType: MimeRecord = {
"text/plain": import("highlight.js/lib/languages/plaintext"),
"application/dart": import("highlight.js/lib/languages/dart"),
"text/plain": () => import("highlight.js/lib/languages/plaintext"),
"application/dart": () => import("highlight.js/lib/languages/dart"),
"application/edn": null,
"application/javascript;env=backend": import("highlight.js/lib/languages/javascript"),
"application/javascript;env=frontend": import("highlight.js/lib/languages/javascript"),
"application/json": import("highlight.js/lib/languages/json"),
"application/ld+json": import("highlight.js/lib/languages/json"),
"application/javascript;env=backend": () => import("highlight.js/lib/languages/javascript"),
"application/javascript;env=frontend": () => import("highlight.js/lib/languages/javascript"),
"application/json": () => import("highlight.js/lib/languages/json"),
"application/ld+json": () => import("highlight.js/lib/languages/json"),
"application/mbox": null,
"application/n-triples": null,
"application/pgp": null,
"application/sieve": null,
"application/sparql-query": null,
"application/typescript": import("highlight.js/lib/languages/typescript"),
"application/typescript": () => import("highlight.js/lib/languages/typescript"),
"application/x-aspx": null,
"application/x-bat": import("highlight.js/lib/languages/dos"),
"application/x-bat": () => import("highlight.js/lib/languages/dos"),
"application/x-cypher-query": null,
"application/x-ejs": null,
"application/x-erb": import("highlight.js/lib/languages/erb"),
"application/x-jsp": import("highlight.js/lib/languages/java"),
"application/x-powershell": import("highlight.js/lib/languages/powershell"),
"application/x-erb": () => import("highlight.js/lib/languages/erb"),
"application/x-jsp": () => import("highlight.js/lib/languages/java"),
"application/x-powershell": () => import("highlight.js/lib/languages/powershell"),
"application/xml-dtd": null,
"application/xquery": import("highlight.js/lib/languages/xquery"),
"message/http": import("highlight.js/lib/languages/http"),
"application/xquery": () => import("highlight.js/lib/languages/xquery"),
"message/http": () => import("highlight.js/lib/languages/http"),
"text/apl": null,
"text/coffeescript": import("highlight.js/lib/languages/coffeescript"),
"text/css": import("highlight.js/lib/languages/css"),
"text/html": import("highlight.js/lib/languages/xml"),
"text/coffeescript": () => import("highlight.js/lib/languages/coffeescript"),
"text/css": () => import("highlight.js/lib/languages/css"),
"text/html": () => import("highlight.js/lib/languages/xml"),
"text/jinja2": null,
"text/jsx": import("highlight.js/lib/languages/javascript"),
"text/jsx": () => import("highlight.js/lib/languages/javascript"),
"text/mirc": null,
"text/tiki": null,
"text/troff": null,
"text/turtle": null,
"text/typescript-jsx": import("highlight.js/lib/languages/typescript"),
"text/vbscript": import("highlight.js/lib/languages/vbscript"),
"text/typescript-jsx": () => import("highlight.js/lib/languages/typescript"),
"text/vbscript": () => import("highlight.js/lib/languages/vbscript"),
"text/velocity": null,
"text/vnd.mermaid": null,
"text/mermaid": null,
"text/x-asm-mips": import("highlight.js/lib/languages/mipsasm"),
"text/x-asm-mips": () => import("highlight.js/lib/languages/mipsasm"),
"text/x-asterisk": null,
"text/x-brainfuck": import("highlight.js/lib/languages/brainfuck"),
"text/x-c++src": import("highlight.js/lib/languages/cpp"),
"text/x-brainfuck": () => import("highlight.js/lib/languages/brainfuck"),
"text/x-c++src": () => import("highlight.js/lib/languages/cpp"),
"text/x-cassandra": null,
"text/x-clojure": import("highlight.js/lib/languages/clojure"),
"text/x-clojure": () => import("highlight.js/lib/languages/clojure"),
"text/x-clojurescript": null,
"text/x-cmake": import("highlight.js/lib/languages/cmake"),
"text/x-cmake": () => import("highlight.js/lib/languages/cmake"),
"text/x-cobol": null,
"text/x-common-lisp": import("highlight.js/lib/languages/lisp"),
"text/x-crystal": import("highlight.js/lib/languages/crystal"),
"text/x-csharp": import("highlight.js/lib/languages/csharp"),
"text/x-csrc": import("highlight.js/lib/languages/c"),
"text/x-common-lisp": () => import("highlight.js/lib/languages/lisp"),
"text/x-crystal": () => import("highlight.js/lib/languages/crystal"),
"text/x-csharp": () => import("highlight.js/lib/languages/csharp"),
"text/x-csrc": () => import("highlight.js/lib/languages/c"),
"text/x-cython": null,
"text/x-d": import("highlight.js/lib/languages/d"),
"text/x-diff": import("highlight.js/lib/languages/diff"),
"text/x-django": import("highlight.js/lib/languages/django"),
"text/x-dockerfile": import("highlight.js/lib/languages/dockerfile"),
"text/x-d": () => import("highlight.js/lib/languages/d"),
"text/x-diff": () => import("highlight.js/lib/languages/diff"),
"text/x-django": () => import("highlight.js/lib/languages/django"),
"text/x-dockerfile": () => import("highlight.js/lib/languages/dockerfile"),
"text/x-dylan": null,
"text/x-ebnf": import("highlight.js/lib/languages/ebnf"),
"text/x-ebnf": () => import("highlight.js/lib/languages/ebnf"),
"text/x-ecl": null,
"text/x-eiffel": null,
"text/x-elm": import("highlight.js/lib/languages/elm"),
"text/x-erlang": import("highlight.js/lib/languages/erlang"),
"text/x-elm": () => import("highlight.js/lib/languages/elm"),
"text/x-erlang": () => import("highlight.js/lib/languages/erlang"),
"text/x-esper": null,
"text/x-factor": null,
"text/x-fcl": null,
"text/x-feature": import("highlight.js/lib/languages/gherkin"),
"text/x-feature": () => import("highlight.js/lib/languages/gherkin"),
"text/x-forth": null,
"text/x-fortran": import("highlight.js/lib/languages/fortran"),
"text/x-fsharp": import("highlight.js/lib/languages/fsharp"),
"text/x-fortran": () => import("highlight.js/lib/languages/fortran"),
"text/x-fsharp": () => import("highlight.js/lib/languages/fsharp"),
"text/x-gas": null,
"text/x-gdscript": null,
"text/x-gfm": import("highlight.js/lib/languages/markdown"),
"text/x-go": import("highlight.js/lib/languages/go"),
"text/x-groovy": import("highlight.js/lib/languages/groovy"),
"text/x-gfm": () => import("highlight.js/lib/languages/markdown"),
"text/x-go": () => import("highlight.js/lib/languages/go"),
"text/x-groovy": () => import("highlight.js/lib/languages/groovy"),
"text/x-gss": null,
"text/x-haml": import("highlight.js/lib/languages/haml"),
"text/x-haskell": import("highlight.js/lib/languages/haskell"),
"text/x-haxe": import("highlight.js/lib/languages/haxe"),
"text/x-hcl": import("./languages/terraform.js"),
"text/x-haml": () => import("highlight.js/lib/languages/haml"),
"text/x-haskell": () => import("highlight.js/lib/languages/haskell"),
"text/x-haxe": () => import("highlight.js/lib/languages/haxe"),
"text/x-hcl": () => import("./languages/terraform.js"),
"text/x-hxml": null,
"text/x-idl": null,
"text/x-java": import("highlight.js/lib/languages/java"),
"text/x-julia": import("highlight.js/lib/languages/julia"),
"text/x-kotlin": import("highlight.js/lib/languages/kotlin"),
"text/x-latex": import("highlight.js/lib/languages/latex"),
"text/x-less": import("highlight.js/lib/languages/less"),
"text/x-java": () => import("highlight.js/lib/languages/java"),
"text/x-julia": () => import("highlight.js/lib/languages/julia"),
"text/x-kotlin": () => import("highlight.js/lib/languages/kotlin"),
"text/x-latex": () => import("highlight.js/lib/languages/latex"),
"text/x-less": () => import("highlight.js/lib/languages/less"),
"text/x-literate-haskell": null,
"text/x-livescript": import("highlight.js/lib/languages/livescript"),
"text/x-lua": import("highlight.js/lib/languages/lua"),
"text/x-mariadb": import("highlight.js/lib/languages/sql"),
"text/x-markdown": import("highlight.js/lib/languages/markdown"),
"text/x-mathematica": import("highlight.js/lib/languages/mathematica"),
"text/x-livescript": () => import("highlight.js/lib/languages/livescript"),
"text/x-lua": () => import("highlight.js/lib/languages/lua"),
"text/x-mariadb": () => import("highlight.js/lib/languages/sql"),
"text/x-markdown": () => import("highlight.js/lib/languages/markdown"),
"text/x-mathematica": () => import("highlight.js/lib/languages/mathematica"),
"text/x-modelica": null,
"text/x-mscgen": null,
"text/x-msgenny": null,
"text/x-mssql": import("highlight.js/lib/languages/sql"),
"text/x-mssql": () => import("highlight.js/lib/languages/sql"),
"text/x-mumps": null,
"text/x-mysql": import("highlight.js/lib/languages/sql"),
"text/x-nix": import("highlight.js/lib/languages/nix"),
"text/x-nginx-conf": import("highlight.js/lib/languages/nginx"),
"text/x-nsis": import("highlight.js/lib/languages/nsis"),
"text/x-objectivec": import("highlight.js/lib/languages/objectivec"),
"text/x-ocaml": import("highlight.js/lib/languages/ocaml"),
"text/x-mysql": () => import("highlight.js/lib/languages/sql"),
"text/x-nix": () => import("highlight.js/lib/languages/nix"),
"text/x-nginx-conf": () => import("highlight.js/lib/languages/nginx"),
"text/x-nsis": () => import("highlight.js/lib/languages/nsis"),
"text/x-objectivec": () => import("highlight.js/lib/languages/objectivec"),
"text/x-ocaml": () => import("highlight.js/lib/languages/ocaml"),
"text/x-octave": null,
"text/x-oz": null,
"text/x-pascal": import("highlight.js/lib/languages/delphi"),
"text/x-pascal": () => import("highlight.js/lib/languages/delphi"),
"text/x-perl": null,
"text/x-pgsql": import("highlight.js/lib/languages/sql"),
"text/x-php": import("highlight.js/lib/languages/php"),
"text/x-pgsql": () => import("highlight.js/lib/languages/sql"),
"text/x-php": () => import("highlight.js/lib/languages/php"),
"text/x-pig": null,
"text/x-plsql": import("highlight.js/lib/languages/sql"),
"text/x-properties": import("highlight.js/lib/languages/properties"),
"text/x-protobuf": import("highlight.js/lib/languages/protobuf"),
"text/x-plsql": () => import("highlight.js/lib/languages/sql"),
"text/x-properties": () => import("highlight.js/lib/languages/properties"),
"text/x-protobuf": () => import("highlight.js/lib/languages/protobuf"),
"text/x-pug": null,
"text/x-puppet": import("highlight.js/lib/languages/puppet"),
"text/x-python": import("highlight.js/lib/languages/python"),
"text/x-q": import("highlight.js/lib/languages/q"),
"text/x-puppet": () => import("highlight.js/lib/languages/puppet"),
"text/x-python": () => import("highlight.js/lib/languages/python"),
"text/x-q": () => import("highlight.js/lib/languages/q"),
"text/x-rpm-changes": null,
"text/x-rpm-spec": null,
"text/x-rsrc": import("highlight.js/lib/languages/r"),
"text/x-rsrc": () => import("highlight.js/lib/languages/r"),
"text/x-rst": null,
"text/x-ruby": import("highlight.js/lib/languages/ruby"),
"text/x-rustsrc": import("highlight.js/lib/languages/rust"),
"text/x-sas": import("highlight.js/lib/languages/sas"),
"text/x-sass": import("highlight.js/lib/languages/scss"),
"text/x-ruby": () => import("highlight.js/lib/languages/ruby"),
"text/x-rustsrc": () => import("highlight.js/lib/languages/rust"),
"text/x-sas": () => import("highlight.js/lib/languages/sas"),
"text/x-sass": () => import("highlight.js/lib/languages/scss"),
"text/x-scala": null,
"text/x-scheme": null,
"text/x-scss": import("highlight.js/lib/languages/scss"),
"text/x-sh": import("highlight.js/lib/languages/bash"),
"text/x-scss": () => import("highlight.js/lib/languages/scss"),
"text/x-sh": () => import("highlight.js/lib/languages/bash"),
"text/x-slim": null,
"text/x-smarty": null,
"text/x-sml": import("highlight.js/lib/languages/sml"),
"text/x-sml": () => import("highlight.js/lib/languages/sml"),
"text/x-solr": null,
"text/x-soy": null,
"text/x-spreadsheet": null,
"text/x-sql": import("highlight.js/lib/languages/sql"),
"text/x-sqlite;schema=trilium": import("highlight.js/lib/languages/sql"),
"text/x-sqlite": import("highlight.js/lib/languages/sql"),
"text/x-sql": () => import("highlight.js/lib/languages/sql"),
"text/x-sqlite;schema=trilium": () => import("highlight.js/lib/languages/sql"),
"text/x-sqlite": () => import("highlight.js/lib/languages/sql"),
"text/x-squirrel": null,
"text/x-stex": null,
"text/x-stsrc": import("highlight.js/lib/languages/smalltalk"),
"text/x-styl": import("highlight.js/lib/languages/stylus"),
"text/x-stsrc": () => import("highlight.js/lib/languages/smalltalk"),
"text/x-styl": () => import("highlight.js/lib/languages/stylus"),
"text/x-swift": null,
"text/x-systemverilog": null,
"text/x-tcl": import("highlight.js/lib/languages/tcl"),
"text/x-tcl": () => import("highlight.js/lib/languages/tcl"),
"text/x-textile": null,
"text/x-tiddlywiki": null,
"text/x-toml": import("highlight.js/lib/languages/ini"),
"text/x-toml": () => import("highlight.js/lib/languages/ini"),
"text/x-tornado": null,
"text/x-ttcn-asn": null,
"text/x-ttcn-cfg": null,
"text/x-ttcn": null,
"text/x-twig": import("highlight.js/lib/languages/twig"),
"text/x-vb": import("highlight.js/lib/languages/vbnet"),
"text/x-verilog": import("highlight.js/lib/languages/verilog"),
"text/x-vhdl": import("highlight.js/lib/languages/vhdl"),
"text/x-twig": () => import("highlight.js/lib/languages/twig"),
"text/x-vb": () => import("highlight.js/lib/languages/vbnet"),
"text/x-verilog": () => import("highlight.js/lib/languages/verilog"),
"text/x-vhdl": () => import("highlight.js/lib/languages/vhdl"),
"text/x-vue": null,
"text/x-webidl": null,
"text/x-xu": null,
"text/x-yacas": null,
"text/x-yaml": import("highlight.js/lib/languages/yaml"),
"text/x-yaml": () => import("highlight.js/lib/languages/yaml"),
"text/x-z80": null,
"text/xml": import("highlight.js/lib/languages/xml"),
"text/xml": () => import("highlight.js/lib/languages/xml"),
}
const normalizedByMimeType: MimeRecord = {};