1 import {StreamLanguage} from "@codemirror/language"
3 import {css as langCss} from '@codemirror/legacy-modes/mode/css';
4 import {clike as langClike} from '@codemirror/legacy-modes/mode/clike';
5 import {diff as langDiff} from '@codemirror/legacy-modes/mode/diff';
6 import {fortran as langFortran} from '@codemirror/legacy-modes/mode/fortran';
7 import {go as langGo} from '@codemirror/legacy-modes/mode/go';
8 import {haskell as langHaskell} from '@codemirror/legacy-modes/mode/haskell';
9 // import {htmlmixed as langHtmlmixed} from '@codemirror/legacy-modes/mode/htmlmixed';
10 import {javascript as langJavascript} from '@codemirror/legacy-modes/mode/javascript';
11 import {julia as langJulia} from '@codemirror/legacy-modes/mode/julia';
12 import {lua as langLua} from '@codemirror/legacy-modes/mode/lua';
13 // import {markdown as langMarkdown} from '@codemirror/legacy-modes/mode/markdown';
14 import {oCaml as langMllike} from '@codemirror/legacy-modes/mode/mllike';
15 import {nginx as langNginx} from '@codemirror/legacy-modes/mode/nginx';
16 import {perl as langPerl} from '@codemirror/legacy-modes/mode/perl';
17 import {pascal as langPascal} from '@codemirror/legacy-modes/mode/pascal';
18 // import {php as langPhp} from '@codemirror/legacy-modes/mode/php';
19 import {powerShell as langPowershell} from '@codemirror/legacy-modes/mode/powershell';
20 import {properties as langProperties} from '@codemirror/legacy-modes/mode/properties';
21 import {python as langPython} from '@codemirror/legacy-modes/mode/python';
22 import {ruby as langRuby} from '@codemirror/legacy-modes/mode/ruby';
23 import {rust as langRust} from '@codemirror/legacy-modes/mode/rust';
24 import {shell as langShell} from '@codemirror/legacy-modes/mode/shell';
25 import {sql as langSql} from '@codemirror/legacy-modes/mode/sql';
26 import {stex as langStex} from '@codemirror/legacy-modes/mode/stex';
27 import {toml as langToml} from '@codemirror/legacy-modes/mode/toml';
28 import {vb as langVb} from '@codemirror/legacy-modes/mode/vb';
29 import {vbScript as langVbscript} from '@codemirror/legacy-modes/mode/vbscript';
30 import {xml as langXml} from '@codemirror/legacy-modes/mode/xml';
31 import {yaml as langYaml} from '@codemirror/legacy-modes/mode/yaml';
33 export const modes = [
65 // Mapping of possible languages or formats from user input to their codemirror modes.
66 // Value can be a mode string or a function that will receive the code content & return the mode string.
67 // The function option is used in the event the exact mode could be dynamic depending on the code.
68 export const modeMap = {
73 scala: 'text/x-scala',
74 kotlin: 'text/x-kotlin',
75 'c++': 'text/x-c++src',
76 'c#': 'text/x-csharp',
77 csharp: 'text/x-csharp',
81 'f#': 'text/x-fsharp',
82 fsharp: 'text/x-fsharp',
88 javascript: 'text/javascript',
89 json: 'application/json',
90 js: 'text/javascript',
92 julia: 'text/x-julia',
102 powershell: 'powershell',
103 properties: 'properties',
104 ocaml: 'text/x-ocaml',
105 pascal: 'text/x-pascal',
106 pas: 'text/x-pascal',
108 return content.includes('<?php') ? 'php' : 'text/x-php';
118 stext: 'text/x-stex',
120 ts: 'text/typescript',
121 typescript: 'text/typescript',
124 vbscript: 'vbscript',
125 'vb.net': 'text/x-vb',
132 export function modesAsStreamLanguages() {
133 return modes.map(mode => StreamLanguage.define(mode));