chore(code): integrate JavaScript extension

This commit is contained in:
Elian Doran
2025-05-11 14:05:04 +03:00
parent c09d3ae5e0
commit dbfc36f4aa
3 changed files with 70 additions and 14 deletions

View File

@@ -1,12 +1,17 @@
import { LanguageSupport, type StreamParser } from "@codemirror/language"
async function buildJavaScript() {
const { javascript } = await import('@codemirror/lang-javascript');
return javascript();
}
const byMimeType: Record<string, (() => Promise<StreamParser<unknown> | LanguageSupport>) | null> = {
"text/plain": null,
"application/dart": async () => (await import('@codemirror/legacy-modes/mode/clike')).dart,
"application/edn": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure,
"application/javascript;env=backend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript,
"application/javascript;env=frontend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript,
"application/javascript;env=backend": buildJavaScript,
"application/javascript;env=frontend": buildJavaScript,
"application/json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).json,
"application/ld+json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).jsonld,
"application/mbox": async () => (await import('@codemirror/legacy-modes/mode/mbox')).mbox,