X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/9874a53206ffbaa6ac108bf6dc63fbe85cc370b2..refs/pull/4533/head:/resources/js/code/languages.js diff --git a/resources/js/code/languages.js b/resources/js/code/languages.js index 21ce69e6d..c0f9e6dd9 100644 --- a/resources/js/code/languages.js +++ b/resources/js/code/languages.js @@ -1,18 +1,19 @@ -import {StreamLanguage} from "@codemirror/language" +import {StreamLanguage} from '@codemirror/language'; import {css} from '@codemirror/lang-css'; import {json} from '@codemirror/lang-json'; import {javascript} from '@codemirror/lang-javascript'; +import {html} from '@codemirror/lang-html'; import {markdown} from '@codemirror/lang-markdown'; import {php} from '@codemirror/lang-php'; -export {twig} from "@ssddanbrown/codemirror-lang-twig"; +import {twig} from '@ssddanbrown/codemirror-lang-twig'; +import {xml} from '@codemirror/lang-xml'; -const legacyLoad = async (mode) => { +const legacyLoad = async mode => { const modes = await window.importVersioned('legacy-modes'); return StreamLanguage.define(modes[mode]); }; - // Mapping of possible languages or formats from user input to their codemirror modes. // 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. @@ -22,6 +23,8 @@ const modeMap = { css: async () => css(), 'c++': () => legacyLoad('cpp'), 'c#': () => legacyLoad('csharp'), + clj: () => legacyLoad('clojure'), + clojure: () => legacyLoad('clojure'), csharp: () => legacyLoad('csharp'), dart: () => legacyLoad('dart'), diff: () => legacyLoad('diff'), @@ -32,7 +35,7 @@ const modeMap = { go: () => legacyLoad('go'), haskell: () => legacyLoad('haskell'), hs: () => legacyLoad('haskell'), - html: () => legacyLoad('html'), + html: async () => html(), ini: () => legacyLoad('properties'), java: () => legacyLoad('java'), javascript: async () => javascript(), @@ -56,7 +59,7 @@ const modeMap = { pascal: () => legacyLoad('pascal'), perl: () => legacyLoad('perl'), pgsql: () => legacyLoad('pgSQL'), - php: async (code) => { + php: async code => { const hasTags = code.includes(' legacyLoad('vbScript'), 'vb.net': () => legacyLoad('vb'), vbnet: () => legacyLoad('vb'), - xml: () => legacyLoad('xml'), + xml: async () => xml(), yaml: () => legacyLoad('yaml'), yml: () => legacyLoad('yaml'), }; @@ -111,4 +114,4 @@ export function getLanguageExtension(langSuggestion, content) { } return language(content); -} \ No newline at end of file +}