diff --git a/packages/highlightjs/src/index.ts b/packages/highlightjs/src/index.ts index c93ac6cf6..065ba33cd 100644 --- a/packages/highlightjs/src/index.ts +++ b/packages/highlightjs/src/index.ts @@ -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); } } diff --git a/packages/highlightjs/src/syntax_highlighting.ts b/packages/highlightjs/src/syntax_highlighting.ts index 6056b3ac1..62b14ea42 100644 --- a/packages/highlightjs/src/syntax_highlighting.ts +++ b/packages/highlightjs/src/syntax_highlighting.ts @@ -1,172 +1,172 @@ import { normalizeMimeTypeForCKEditor } from "@triliumnext/commons"; import type { LanguageFn } from "highlight.js"; -type MimeRecord = Record | null)>; +type MimeRecord = Record 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 = {};