package.src.edit.main.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of codemirror Show documentation
Show all versions of codemirror Show documentation
Basic configuration for the CodeMirror code editor
The newest version!
// EDITOR CONSTRUCTOR
import { CodeMirror } from "./CodeMirror.js"
export { CodeMirror } from "./CodeMirror.js"
import { eventMixin } from "../util/event.js"
import { indexOf } from "../util/misc.js"
import { defineOptions } from "./options.js"
defineOptions(CodeMirror)
import addEditorMethods from "./methods.js"
addEditorMethods(CodeMirror)
import Doc from "../model/Doc.js"
// Set up methods on CodeMirror's prototype to redirect to the editor's document.
let dontDelegate = "iter insert remove copy getEditor constructor".split(" ")
for (let prop in Doc.prototype) if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0)
CodeMirror.prototype[prop] = (function(method) {
return function() {return method.apply(this.doc, arguments)}
})(Doc.prototype[prop])
eventMixin(Doc)
// INPUT HANDLING
import ContentEditableInput from "../input/ContentEditableInput.js"
import TextareaInput from "../input/TextareaInput.js"
CodeMirror.inputStyles = {"textarea": TextareaInput, "contenteditable": ContentEditableInput}
// MODE DEFINITION AND QUERYING
import { defineMIME, defineMode } from "../modes.js"
// Extra arguments are stored as the mode's dependencies, which is
// used by (legacy) mechanisms like loadmode.js to automatically
// load a mode. (Preferred mechanism is the require/define calls.)
CodeMirror.defineMode = function(name/*, mode, …*/) {
if (!CodeMirror.defaults.mode && name != "null") CodeMirror.defaults.mode = name
defineMode.apply(this, arguments)
}
CodeMirror.defineMIME = defineMIME
// Minimal default mode.
CodeMirror.defineMode("null", () => ({token: stream => stream.skipToEnd()}))
CodeMirror.defineMIME("text/plain", "null")
// EXTENSIONS
CodeMirror.defineExtension = (name, func) => {
CodeMirror.prototype[name] = func
}
CodeMirror.defineDocExtension = (name, func) => {
Doc.prototype[name] = func
}
import { fromTextArea } from "./fromTextArea.js"
CodeMirror.fromTextArea = fromTextArea
import { addLegacyProps } from "./legacy.js"
addLegacyProps(CodeMirror)
CodeMirror.version = "6.65.7"
© 2015 - 2025 Weber Informatics LLC | Privacy Policy