]> BookStack Code Mirror - bookstack/blobdiff - resources/js/code/languages.js
Vectors: Added command to regenerate for all
[bookstack] / resources / js / code / languages.js
index 21ce69e6d3de14e9e0838b6f2e89ca4d9a399717..da9631a138af11d1b578f5943dc723f9c5bb9a2b 100644 (file)
@@ -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({selfClosingTags: true}),
     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('<?php');
         return php({plain: !hasTags});
     },
@@ -68,10 +71,12 @@ const modeMap = {
     ocaml: () => legacyLoad('oCaml'),
     py: () => legacyLoad('python'),
     python: () => legacyLoad('python'),
+    r: () => legacyLoad('r'),
     rb: () => legacyLoad('ruby'),
     rs: () => legacyLoad('rust'),
     ruby: () => legacyLoad('ruby'),
     rust: () => legacyLoad('rust'),
+    sas: () => legacyLoad('sas'),
     scala: () => legacyLoad('scala'),
     scheme: () => legacyLoad('scheme'),
     shell: () => legacyLoad('shell'),
@@ -89,7 +94,7 @@ const modeMap = {
     vbscript: () => legacyLoad('vbScript'),
     'vb.net': () => legacyLoad('vb'),
     vbnet: () => legacyLoad('vb'),
-    xml: () => legacyLoad('xml'),
+    xml: async () => xml(),
     yaml: () => legacyLoad('yaml'),
     yml: () => legacyLoad('yaml'),
 };
@@ -111,4 +116,4 @@ export function getLanguageExtension(langSuggestion, content) {
     }
 
     return language(content);
-}
\ No newline at end of file
+}