X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/43cbab28220c5c9cb16222c22bf2090268b83e7f..refs/pull/4126/head:/resources/js/code.mjs diff --git a/resources/js/code.mjs b/resources/js/code.mjs index 537b0d108..9adc23b1f 100644 --- a/resources/js/code.mjs +++ b/resources/js/code.mjs @@ -4,6 +4,7 @@ import Clipboard from "clipboard/dist/clipboard.min"; // Modes import 'codemirror/mode/css/css'; import 'codemirror/mode/clike/clike'; +import 'codemirror/mode/dart/dart'; import 'codemirror/mode/diff/diff'; import 'codemirror/mode/fortran/fortran'; import 'codemirror/mode/go/go'; @@ -15,6 +16,7 @@ import 'codemirror/mode/lua/lua'; import 'codemirror/mode/markdown/markdown'; import 'codemirror/mode/mllike/mllike'; import 'codemirror/mode/nginx/nginx'; +import 'codemirror/mode/octave/octave'; import 'codemirror/mode/perl/perl'; import 'codemirror/mode/pascal/pascal'; import 'codemirror/mode/php/php'; @@ -23,9 +25,14 @@ import 'codemirror/mode/properties/properties'; import 'codemirror/mode/python/python'; import 'codemirror/mode/ruby/ruby'; import 'codemirror/mode/rust/rust'; +import 'codemirror/mode/scheme/scheme'; import 'codemirror/mode/shell/shell'; +import 'codemirror/mode/smarty/smarty'; import 'codemirror/mode/sql/sql'; +import 'codemirror/mode/stex/stex'; +import 'codemirror/mode/swift/swift'; import 'codemirror/mode/toml/toml'; +import 'codemirror/mode/twig/twig'; import 'codemirror/mode/vb/vb'; import 'codemirror/mode/vbscript/vbscript'; import 'codemirror/mode/xml/xml'; @@ -38,6 +45,7 @@ import 'codemirror/addon/scroll/scrollpastend'; // Value can be a mode string or a function that will receive the code content & return the mode string. // The function option is used in the event the exact mode could be dynamic depending on the code. const modeMap = { + bash: 'shell', css: 'css', c: 'text/x-csrc', java: 'text/x-java', @@ -46,46 +54,64 @@ const modeMap = { 'c++': 'text/x-c++src', 'c#': 'text/x-csharp', csharp: 'text/x-csharp', + dart: 'application/dart', diff: 'diff', for: 'fortran', fortran: 'fortran', + 'f#': 'text/x-fsharp', + fsharp: 'text/x-fsharp', go: 'go', haskell: 'haskell', hs: 'haskell', html: 'htmlmixed', ini: 'properties', - javascript: 'javascript', - json: {name: 'javascript', json: true}, - js: 'javascript', - jl: 'julia', - julia: 'julia', + javascript: 'text/javascript', + json: 'application/json', + js: 'text/javascript', + jl: 'text/x-julia', + julia: 'text/x-julia', + latex: 'text/x-stex', lua: 'lua', + matlab: 'text/x-octave', md: 'markdown', mdown: 'markdown', markdown: 'markdown', ml: 'mllike', + mssql: 'text/x-mssql', + mysql: 'text/x-mysql', nginx: 'nginx', + octave: 'text/x-octave', perl: 'perl', pl: 'perl', powershell: 'powershell', properties: 'properties', - ocaml: 'mllike', + ocaml: 'text/x-ocaml', pascal: 'text/x-pascal', pas: 'text/x-pascal', php: (content) => { return content.includes('