diff .cms/lib/codemirror/src/addon/runmode/codemirror-standalone.js @ 0:78edf6b517a0 draft

24.10
author Coffee CMS <info@coffee-cms.ru>
date Fri, 11 Oct 2024 22:40:23 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.cms/lib/codemirror/src/addon/runmode/codemirror-standalone.js	Fri Oct 11 22:40:23 2024 +0000
@@ -0,0 +1,24 @@
+import StringStream from "../../util/StringStream.js"
+import { countColumn } from "../../util/misc.js"
+import * as modeMethods from "../../modes.js"
+
+// declare global: globalThis, CodeMirror
+
+// Create a minimal CodeMirror needed to use runMode, and assign to root.
+var root = typeof globalThis !== 'undefined' ? globalThis : window
+root.CodeMirror = {}
+
+// Copy StringStream and mode methods into CodeMirror object.
+CodeMirror.StringStream = StringStream
+for (var exported in modeMethods) CodeMirror[exported] = modeMethods[exported]
+
+// Minimal default mode.
+CodeMirror.defineMode("null", () => ({token: stream => stream.skipToEnd()}))
+CodeMirror.defineMIME("text/plain", "null")
+
+CodeMirror.registerHelper = CodeMirror.registerGlobalHelper = Math.min
+CodeMirror.splitLines = function(string) { return string.split(/\r?\n|\r/) }
+CodeMirror.countColumn = countColumn
+
+CodeMirror.defaults = { indentUnit: 2 }
+export default CodeMirror