mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-28 02:22:26 +08:00
refactor(highlightjs): remove alias
This commit is contained in:
parent
fd52b9ec4b
commit
2c4b28c6cb
@ -4,12 +4,12 @@ import hljs from "highlight.js";
|
|||||||
|
|
||||||
describe("Syntax highlighting definitions", () => {
|
describe("Syntax highlighting definitions", () => {
|
||||||
it("every entry is readable", async () => {
|
it("every entry is readable", async () => {
|
||||||
for (const [ mime, mapping ] of Object.entries(definitions)) {
|
for (const [ mime, loader ] of Object.entries(definitions)) {
|
||||||
if (mapping === null) {
|
if (loader === null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const language = (await mapping.loader).default;
|
const language = (await loader).default;
|
||||||
|
|
||||||
hljs.registerLanguage(mime, language);
|
hljs.registerLanguage(mime, language);
|
||||||
hljs.highlight("Hello world", {
|
hljs.highlight("Hello world", {
|
||||||
|
@ -1,174 +1,169 @@
|
|||||||
import type { LanguageFn } from "highlight.js";
|
import type { LanguageFn } from "highlight.js";
|
||||||
|
|
||||||
interface Mapping {
|
const byMimeType: Record<string, (Promise<{ default: LanguageFn}> | null)> = {
|
||||||
loader: Promise<{ default: LanguageFn}>;
|
"text/plain": import("highlight.js/lib/languages/plaintext"),
|
||||||
alias: string;
|
"application/dart": import("highlight.js/lib/languages/dart"),
|
||||||
}
|
|
||||||
|
|
||||||
const byMimeType: Record<string, (Mapping | null)> = {
|
|
||||||
"text/plain": { loader: import("highlight.js/lib/languages/plaintext"), alias: "plaintext" },
|
|
||||||
"application/dart": { loader: import("highlight.js/lib/languages/dart"), alias: "dart" },
|
|
||||||
"application/edn": null,
|
"application/edn": null,
|
||||||
"application/javascript;env=backend": { loader: import("highlight.js/lib/languages/javascript"), alias: "javascript" },
|
"application/javascript;env=backend": import("highlight.js/lib/languages/javascript"),
|
||||||
"application/javascript;env=frontend": { loader: import("highlight.js/lib/languages/javascript"), alias: "javascript" },
|
"application/javascript;env=frontend": import("highlight.js/lib/languages/javascript"),
|
||||||
"application/json": { loader: import("highlight.js/lib/languages/json"), alias: "json" },
|
"application/json": import("highlight.js/lib/languages/json"),
|
||||||
"application/ld+json": { loader: import("highlight.js/lib/languages/json"), alias: "json" },
|
"application/ld+json": import("highlight.js/lib/languages/json"),
|
||||||
"application/mbox": null,
|
"application/mbox": null,
|
||||||
"application/n-triples": null,
|
"application/n-triples": null,
|
||||||
"application/pgp": null,
|
"application/pgp": null,
|
||||||
"application/sieve": null,
|
"application/sieve": null,
|
||||||
"application/sparql-query": null,
|
"application/sparql-query": null,
|
||||||
"application/typescript": { loader: import("highlight.js/lib/languages/typescript"), alias: "typescript" },
|
"application/typescript": import("highlight.js/lib/languages/typescript"),
|
||||||
"application/x-aspx": null,
|
"application/x-aspx": null,
|
||||||
"application/x-bat": { loader: import("highlight.js/lib/languages/dos"), alias: "bat" },
|
"application/x-bat": import("highlight.js/lib/languages/dos"),
|
||||||
"application/x-cypher-query": null,
|
"application/x-cypher-query": null,
|
||||||
"application/x-ejs": null,
|
"application/x-ejs": null,
|
||||||
"application/x-erb": { loader: import("highlight.js/lib/languages/erb"), alias: "erb" },
|
"application/x-erb": import("highlight.js/lib/languages/erb"),
|
||||||
"application/x-jsp": { loader: import("highlight.js/lib/languages/java"), alias: "java" },
|
"application/x-jsp": import("highlight.js/lib/languages/java"),
|
||||||
"application/x-powershell": { loader: import("highlight.js/lib/languages/powershell"), alias: "powershell" },
|
"application/x-powershell": import("highlight.js/lib/languages/powershell"),
|
||||||
"application/xml-dtd": null,
|
"application/xml-dtd": null,
|
||||||
"application/xquery": { loader: import("highlight.js/lib/languages/xquery"), alias: "xquery" },
|
"application/xquery": import("highlight.js/lib/languages/xquery"),
|
||||||
"message/http": { loader: import("highlight.js/lib/languages/http"), alias: "http" },
|
"message/http": import("highlight.js/lib/languages/http"),
|
||||||
"text/apl": null,
|
"text/apl": null,
|
||||||
"text/coffeescript": { loader: import("highlight.js/lib/languages/coffeescript"), alias: "coffeescript" },
|
"text/coffeescript": import("highlight.js/lib/languages/coffeescript"),
|
||||||
"text/css": { loader: import("highlight.js/lib/languages/css"), alias: "css" },
|
"text/css": import("highlight.js/lib/languages/css"),
|
||||||
"text/html": { loader: import("highlight.js/lib/languages/xml"), alias: "html" },
|
"text/html": import("highlight.js/lib/languages/xml"),
|
||||||
"text/jinja2": null,
|
"text/jinja2": null,
|
||||||
"text/jsx": { loader: import("highlight.js/lib/languages/javascript"), alias: "javascript" },
|
"text/jsx": import("highlight.js/lib/languages/javascript"),
|
||||||
"text/mirc": null,
|
"text/mirc": null,
|
||||||
"text/tiki": null,
|
"text/tiki": null,
|
||||||
"text/troff": null,
|
"text/troff": null,
|
||||||
"text/turtle": null,
|
"text/turtle": null,
|
||||||
"text/typescript-jsx": { loader: import("highlight.js/lib/languages/typescript"), alias: "typescript" },
|
"text/typescript-jsx": import("highlight.js/lib/languages/typescript"),
|
||||||
"text/vbscript": { loader: import("highlight.js/lib/languages/vbscript"), alias: "vbscript" },
|
"text/vbscript": import("highlight.js/lib/languages/vbscript"),
|
||||||
"text/velocity": null,
|
"text/velocity": null,
|
||||||
"text/vnd.mermaid": null,
|
"text/vnd.mermaid": null,
|
||||||
"text/mermaid": null,
|
"text/mermaid": null,
|
||||||
"text/x-asm-mips": { loader: import("highlight.js/lib/languages/mipsasm"), alias: "mipsasm" },
|
"text/x-asm-mips": import("highlight.js/lib/languages/mipsasm"),
|
||||||
"text/x-asterisk": null,
|
"text/x-asterisk": null,
|
||||||
"text/x-brainfuck": { loader: import("highlight.js/lib/languages/brainfuck"), alias: "brainfuck" },
|
"text/x-brainfuck": import("highlight.js/lib/languages/brainfuck"),
|
||||||
"text/x-c++src": { loader: import("highlight.js/lib/languages/cpp"), alias: "cpp" },
|
"text/x-c++src": import("highlight.js/lib/languages/cpp"),
|
||||||
"text/x-cassandra": null,
|
"text/x-cassandra": null,
|
||||||
"text/x-clojure": { loader: import("highlight.js/lib/languages/clojure"), alias: "clojure" },
|
"text/x-clojure": import("highlight.js/lib/languages/clojure"),
|
||||||
"text/x-clojurescript": null,
|
"text/x-clojurescript": null,
|
||||||
"text/x-cmake": { loader: import("highlight.js/lib/languages/cmake"), alias: "cmake" },
|
"text/x-cmake": import("highlight.js/lib/languages/cmake"),
|
||||||
"text/x-cobol": null,
|
"text/x-cobol": null,
|
||||||
"text/x-common-lisp": { loader: import("highlight.js/lib/languages/lisp"), alias: "lisp" },
|
"text/x-common-lisp": import("highlight.js/lib/languages/lisp"),
|
||||||
"text/x-crystal": { loader: import("highlight.js/lib/languages/crystal"), alias: "crystal" },
|
"text/x-crystal": import("highlight.js/lib/languages/crystal"),
|
||||||
"text/x-csharp": { loader: import("highlight.js/lib/languages/csharp"), alias: "csharp" },
|
"text/x-csharp": import("highlight.js/lib/languages/csharp"),
|
||||||
"text/x-csrc": { loader: import("highlight.js/lib/languages/c"), alias: "c" },
|
"text/x-csrc": import("highlight.js/lib/languages/c"),
|
||||||
"text/x-cython": null,
|
"text/x-cython": null,
|
||||||
"text/x-d": { loader: import("highlight.js/lib/languages/d"), alias: "d" },
|
"text/x-d": import("highlight.js/lib/languages/d"),
|
||||||
"text/x-diff": { loader: import("highlight.js/lib/languages/diff"), alias: "diff" },
|
"text/x-diff": import("highlight.js/lib/languages/diff"),
|
||||||
"text/x-django": { loader: import("highlight.js/lib/languages/django"), alias: "django" },
|
"text/x-django": import("highlight.js/lib/languages/django"),
|
||||||
"text/x-dockerfile": { loader: import("highlight.js/lib/languages/dockerfile"), alias: "dockerfile" },
|
"text/x-dockerfile": import("highlight.js/lib/languages/dockerfile"),
|
||||||
"text/x-dylan": null,
|
"text/x-dylan": null,
|
||||||
"text/x-ebnf": { loader: import("highlight.js/lib/languages/ebnf"), alias: "ebnf" },
|
"text/x-ebnf": import("highlight.js/lib/languages/ebnf"),
|
||||||
"text/x-ecl": null,
|
"text/x-ecl": null,
|
||||||
"text/x-eiffel": null,
|
"text/x-eiffel": null,
|
||||||
"text/x-elm": { loader: import("highlight.js/lib/languages/elm"), alias: "elm" },
|
"text/x-elm": import("highlight.js/lib/languages/elm"),
|
||||||
"text/x-erlang": { loader: import("highlight.js/lib/languages/erlang"), alias: "erlang" },
|
"text/x-erlang": import("highlight.js/lib/languages/erlang"),
|
||||||
"text/x-esper": null,
|
"text/x-esper": null,
|
||||||
"text/x-factor": null,
|
"text/x-factor": null,
|
||||||
"text/x-fcl": null,
|
"text/x-fcl": null,
|
||||||
"text/x-feature": { loader: import("highlight.js/lib/languages/gherkin"), alias: "gherkin" },
|
"text/x-feature": import("highlight.js/lib/languages/gherkin"),
|
||||||
"text/x-forth": null,
|
"text/x-forth": null,
|
||||||
"text/x-fortran": { loader: import("highlight.js/lib/languages/fortran"), alias: "fortran" },
|
"text/x-fortran": import("highlight.js/lib/languages/fortran"),
|
||||||
"text/x-fsharp": { loader: import("highlight.js/lib/languages/fsharp"), alias: "fsharp" },
|
"text/x-fsharp": import("highlight.js/lib/languages/fsharp"),
|
||||||
"text/x-gas": null,
|
"text/x-gas": null,
|
||||||
"text/x-gdscript": null,
|
"text/x-gdscript": null,
|
||||||
"text/x-gfm": { loader: import("highlight.js/lib/languages/markdown"), alias: "markdown" },
|
"text/x-gfm": import("highlight.js/lib/languages/markdown"),
|
||||||
"text/x-go": { loader: import("highlight.js/lib/languages/go"), alias: "go" },
|
"text/x-go": import("highlight.js/lib/languages/go"),
|
||||||
"text/x-groovy": { loader: import("highlight.js/lib/languages/groovy"), alias: "groovy" },
|
"text/x-groovy": import("highlight.js/lib/languages/groovy"),
|
||||||
"text/x-gss": null,
|
"text/x-gss": null,
|
||||||
"text/x-haml": { loader: import("highlight.js/lib/languages/haml"), alias: "haml" },
|
"text/x-haml": import("highlight.js/lib/languages/haml"),
|
||||||
"text/x-haskell": { loader: import("highlight.js/lib/languages/haskell"), alias: "haskell" },
|
"text/x-haskell": import("highlight.js/lib/languages/haskell"),
|
||||||
"text/x-haxe": { loader: import("highlight.js/lib/languages/haxe"), alias: "haxe" },
|
"text/x-haxe": import("highlight.js/lib/languages/haxe"),
|
||||||
"text/x-hcl": { loader: import("./languages/terraform.js"), alias: "terraform" },
|
"text/x-hcl": import("./languages/terraform.js"),
|
||||||
"text/x-hxml": null,
|
"text/x-hxml": null,
|
||||||
"text/x-idl": null,
|
"text/x-idl": null,
|
||||||
"text/x-java": { loader: import("highlight.js/lib/languages/java"), alias: "java" },
|
"text/x-java": import("highlight.js/lib/languages/java"),
|
||||||
"text/x-julia": { loader: import("highlight.js/lib/languages/julia"), alias: "julia" },
|
"text/x-julia": import("highlight.js/lib/languages/julia"),
|
||||||
"text/x-kotlin": { loader: import("highlight.js/lib/languages/kotlin"), alias: "kotlin" },
|
"text/x-kotlin": import("highlight.js/lib/languages/kotlin"),
|
||||||
"text/x-latex": { loader: import("highlight.js/lib/languages/latex"), alias: "latex" },
|
"text/x-latex": import("highlight.js/lib/languages/latex"),
|
||||||
"text/x-less": { loader: import("highlight.js/lib/languages/less"), alias: "less" },
|
"text/x-less": import("highlight.js/lib/languages/less"),
|
||||||
"text/x-literate-haskell": null,
|
"text/x-literate-haskell": null,
|
||||||
"text/x-livescript": { loader: import("highlight.js/lib/languages/livescript"), alias: "livescript" },
|
"text/x-livescript": import("highlight.js/lib/languages/livescript"),
|
||||||
"text/x-lua": { loader: import("highlight.js/lib/languages/lua"), alias: "lua" },
|
"text/x-lua": import("highlight.js/lib/languages/lua"),
|
||||||
"text/x-mariadb": { loader: import("highlight.js/lib/languages/sql"), alias: "sql" },
|
"text/x-mariadb": import("highlight.js/lib/languages/sql"),
|
||||||
"text/x-markdown": { loader: import("highlight.js/lib/languages/markdown"), alias: "markdown" },
|
"text/x-markdown": import("highlight.js/lib/languages/markdown"),
|
||||||
"text/x-mathematica": { loader: import("highlight.js/lib/languages/mathematica"), alias: "mathematica" },
|
"text/x-mathematica": import("highlight.js/lib/languages/mathematica"),
|
||||||
"text/x-modelica": null,
|
"text/x-modelica": null,
|
||||||
"text/x-mscgen": null,
|
"text/x-mscgen": null,
|
||||||
"text/x-msgenny": null,
|
"text/x-msgenny": null,
|
||||||
"text/x-mssql": { loader: import("highlight.js/lib/languages/sql"), alias: "sql" },
|
"text/x-mssql": import("highlight.js/lib/languages/sql"),
|
||||||
"text/x-mumps": null,
|
"text/x-mumps": null,
|
||||||
"text/x-mysql": { loader: import("highlight.js/lib/languages/sql"), alias: "sql" },
|
"text/x-mysql": import("highlight.js/lib/languages/sql"),
|
||||||
"text/x-nix": { loader: import("highlight.js/lib/languages/nix"), alias: "nix" },
|
"text/x-nix": import("highlight.js/lib/languages/nix"),
|
||||||
"text/x-nginx-conf": { loader: import("highlight.js/lib/languages/nginx"), alias: "nginx" },
|
"text/x-nginx-conf": import("highlight.js/lib/languages/nginx"),
|
||||||
"text/x-nsis": { loader: import("highlight.js/lib/languages/nsis"), alias: "nsis" },
|
"text/x-nsis": import("highlight.js/lib/languages/nsis"),
|
||||||
"text/x-objectivec": { loader: import("highlight.js/lib/languages/objectivec"), alias: "objectivec" },
|
"text/x-objectivec": import("highlight.js/lib/languages/objectivec"),
|
||||||
"text/x-ocaml": { loader: import("highlight.js/lib/languages/ocaml"), alias: "ocaml" },
|
"text/x-ocaml": import("highlight.js/lib/languages/ocaml"),
|
||||||
"text/x-octave": null,
|
"text/x-octave": null,
|
||||||
"text/x-oz": null,
|
"text/x-oz": null,
|
||||||
"text/x-pascal": { loader: import("highlight.js/lib/languages/delphi"), alias: "delphi" },
|
"text/x-pascal": import("highlight.js/lib/languages/delphi"),
|
||||||
"text/x-perl": null,
|
"text/x-perl": null,
|
||||||
"text/x-pgsql": { loader: import("highlight.js/lib/languages/sql"), alias: "sql" },
|
"text/x-pgsql": import("highlight.js/lib/languages/sql"),
|
||||||
"text/x-php": { loader: import("highlight.js/lib/languages/php"), alias: "php" },
|
"text/x-php": import("highlight.js/lib/languages/php"),
|
||||||
"text/x-pig": null,
|
"text/x-pig": null,
|
||||||
"text/x-plsql": { loader: import("highlight.js/lib/languages/sql"), alias: "sql" },
|
"text/x-plsql": import("highlight.js/lib/languages/sql"),
|
||||||
"text/x-properties": { loader: import("highlight.js/lib/languages/properties"), alias: "properties" },
|
"text/x-properties": import("highlight.js/lib/languages/properties"),
|
||||||
"text/x-protobuf": { loader: import("highlight.js/lib/languages/protobuf"), alias: "protobuf" },
|
"text/x-protobuf": import("highlight.js/lib/languages/protobuf"),
|
||||||
"text/x-pug": null,
|
"text/x-pug": null,
|
||||||
"text/x-puppet": { loader: import("highlight.js/lib/languages/puppet"), alias: "puppet" },
|
"text/x-puppet": import("highlight.js/lib/languages/puppet"),
|
||||||
"text/x-python": { loader: import("highlight.js/lib/languages/python"), alias: "python" },
|
"text/x-python": import("highlight.js/lib/languages/python"),
|
||||||
"text/x-q": { loader: import("highlight.js/lib/languages/q"), alias: "q" },
|
"text/x-q": import("highlight.js/lib/languages/q"),
|
||||||
"text/x-rpm-changes": null,
|
"text/x-rpm-changes": null,
|
||||||
"text/x-rpm-spec": null,
|
"text/x-rpm-spec": null,
|
||||||
"text/x-rsrc": { loader: import("highlight.js/lib/languages/r"), alias: "r" },
|
"text/x-rsrc": import("highlight.js/lib/languages/r"),
|
||||||
"text/x-rst": null,
|
"text/x-rst": null,
|
||||||
"text/x-ruby": { loader: import("highlight.js/lib/languages/ruby"), alias: "ruby" },
|
"text/x-ruby": import("highlight.js/lib/languages/ruby"),
|
||||||
"text/x-rustsrc": { loader: import("highlight.js/lib/languages/rust"), alias: "rust" },
|
"text/x-rustsrc": import("highlight.js/lib/languages/rust"),
|
||||||
"text/x-sas": { loader: import("highlight.js/lib/languages/sas"), alias: "sas" },
|
"text/x-sas": import("highlight.js/lib/languages/sas"),
|
||||||
"text/x-sass": { loader: import("highlight.js/lib/languages/scss"), alias: "scss" },
|
"text/x-sass": import("highlight.js/lib/languages/scss"),
|
||||||
"text/x-scala": null,
|
"text/x-scala": null,
|
||||||
"text/x-scheme": null,
|
"text/x-scheme": null,
|
||||||
"text/x-scss": { loader: import("highlight.js/lib/languages/scss"), alias: "scss" },
|
"text/x-scss": import("highlight.js/lib/languages/scss"),
|
||||||
"text/x-sh": { loader: import("highlight.js/lib/languages/bash"), alias: "bash" },
|
"text/x-sh": import("highlight.js/lib/languages/bash"),
|
||||||
"text/x-slim": null,
|
"text/x-slim": null,
|
||||||
"text/x-smarty": null,
|
"text/x-smarty": null,
|
||||||
"text/x-sml": { loader: import("highlight.js/lib/languages/sml"), alias: "sml" },
|
"text/x-sml": import("highlight.js/lib/languages/sml"),
|
||||||
"text/x-solr": null,
|
"text/x-solr": null,
|
||||||
"text/x-soy": null,
|
"text/x-soy": null,
|
||||||
"text/x-spreadsheet": null,
|
"text/x-spreadsheet": null,
|
||||||
"text/x-sql": { loader: import("highlight.js/lib/languages/sql"), alias: "sql" },
|
"text/x-sql": import("highlight.js/lib/languages/sql"),
|
||||||
"text/x-sqlite;schema=trilium": { loader: import("highlight.js/lib/languages/sql"), alias: "sql" },
|
"text/x-sqlite;schema=trilium": import("highlight.js/lib/languages/sql"),
|
||||||
"text/x-sqlite": { loader: import("highlight.js/lib/languages/sql"), alias: "sql" },
|
"text/x-sqlite": import("highlight.js/lib/languages/sql"),
|
||||||
"text/x-squirrel": null,
|
"text/x-squirrel": null,
|
||||||
"text/x-stex": null,
|
"text/x-stex": null,
|
||||||
"text/x-stsrc": { loader: import("highlight.js/lib/languages/smalltalk"), alias: "smalltalk" },
|
"text/x-stsrc": import("highlight.js/lib/languages/smalltalk"),
|
||||||
"text/x-styl": { loader: import("highlight.js/lib/languages/stylus"), alias: "stylus" },
|
"text/x-styl": import("highlight.js/lib/languages/stylus"),
|
||||||
"text/x-swift": null,
|
"text/x-swift": null,
|
||||||
"text/x-systemverilog": null,
|
"text/x-systemverilog": null,
|
||||||
"text/x-tcl": { loader: import("highlight.js/lib/languages/tcl"), alias: "tcl" },
|
"text/x-tcl": import("highlight.js/lib/languages/tcl"),
|
||||||
"text/x-textile": null,
|
"text/x-textile": null,
|
||||||
"text/x-tiddlywiki": null,
|
"text/x-tiddlywiki": null,
|
||||||
"text/x-toml": { loader: import("highlight.js/lib/languages/ini"), alias: "ini" },
|
"text/x-toml": import("highlight.js/lib/languages/ini"),
|
||||||
"text/x-tornado": null,
|
"text/x-tornado": null,
|
||||||
"text/x-ttcn-asn": null,
|
"text/x-ttcn-asn": null,
|
||||||
"text/x-ttcn-cfg": null,
|
"text/x-ttcn-cfg": null,
|
||||||
"text/x-ttcn": null,
|
"text/x-ttcn": null,
|
||||||
"text/x-twig": { loader: import("highlight.js/lib/languages/twig"), alias: "twig" },
|
"text/x-twig": import("highlight.js/lib/languages/twig"),
|
||||||
"text/x-vb": { loader: import("highlight.js/lib/languages/vbnet"), alias: "vbnet" },
|
"text/x-vb": import("highlight.js/lib/languages/vbnet"),
|
||||||
"text/x-verilog": { loader: import("highlight.js/lib/languages/verilog"), alias: "verilog" },
|
"text/x-verilog": import("highlight.js/lib/languages/verilog"),
|
||||||
"text/x-vhdl": { loader: import("highlight.js/lib/languages/vhdl"), alias: "vhdl" },
|
"text/x-vhdl": import("highlight.js/lib/languages/vhdl"),
|
||||||
"text/x-vue": null,
|
"text/x-vue": null,
|
||||||
"text/x-webidl": null,
|
"text/x-webidl": null,
|
||||||
"text/x-xu": null,
|
"text/x-xu": null,
|
||||||
"text/x-yacas": null,
|
"text/x-yacas": null,
|
||||||
"text/x-yaml": { loader: import("highlight.js/lib/languages/yaml"), alias: "yaml" },
|
"text/x-yaml": import("highlight.js/lib/languages/yaml"),
|
||||||
"text/x-z80": null,
|
"text/x-z80": null,
|
||||||
"text/xml": { loader: import("highlight.js/lib/languages/xml"), alias: "xml" },
|
"text/xml": import("highlight.js/lib/languages/xml"),
|
||||||
}
|
}
|
||||||
|
|
||||||
export default byMimeType;
|
export default byMimeType;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user