Loading template/resources/codemirror/overlay.jsdeleted 100644 → 0 +0 −51 Original line number Diff line number Diff line // Utility function that allows modes to be combined. The mode given // as the base argument takes care of most of the normal mode // functionality, but a second (typically simple) mode is used, which // can override the style of text. Both modes get to parse all of the // text, but when both assign a non-null style to a piece of code, the // overlay wins, unless the combine argument was true, in which case // the styles are combined. CodeMirror.overlayParser = function(base, overlay, combine) { return { startState: function() { return { base: CodeMirror.startState(base), overlay: CodeMirror.startState(overlay), basePos: 0, baseCur: null, overlayPos: 0, overlayCur: null }; }, copyState: function(state) { return { base: CodeMirror.copyState(base, state.base), overlay: CodeMirror.copyState(overlay, state.overlay), basePos: state.basePos, baseCur: null, overlayPos: state.overlayPos, overlayCur: null }; }, token: function(stream, state) { if (stream.start == state.basePos) { state.baseCur = base.token(stream, state.base); state.basePos = stream.pos; } if (stream.start == state.overlayPos) { stream.pos = stream.start; state.overlayCur = overlay.token(stream, state.overlay); state.overlayPos = stream.pos; } stream.pos = Math.min(state.basePos, state.overlayPos); if (stream.eol()) state.basePos = state.overlayPos = 0; if (state.overlayCur == null) return state.baseCur; if (state.baseCur != null && combine) return state.baseCur + " " + state.overlayCur; else return state.overlayCur; }, indent: function(state, textAfter) { return base.indent(state.base, textAfter); }, electricChars: base.electricChars }; }; template/resources/codemirror/runmode.jsdeleted 100644 → 0 +0 −27 Original line number Diff line number Diff line CodeMirror.runMode = function(string, modespec, callback) { var mode = CodeMirror.getMode({indentUnit: 2}, modespec); var isNode = callback.nodeType == 1; if (isNode) { var node = callback, accum = []; callback = function(string, style) { if (string == "\n") accum.push("<br>"); else if (style) accum.push("<span class=\"cm-" + CodeMirror.htmlEscape(style) + "\">" + CodeMirror.htmlEscape(string) + "</span>"); else accum.push(CodeMirror.htmlEscape(string)); } } var lines = CodeMirror.splitLines(string), state = CodeMirror.startState(mode); for (var i = 0, e = lines.length; i < e; ++i) { if (i) callback("\n"); var stream = new CodeMirror.StringStream(lines[i]); while (!stream.eol()) { var style = mode.token(stream, state); callback(stream.current(), style); stream.start = stream.pos; } } if (isNode) node.innerHTML = accum.join(""); }; Loading
template/resources/codemirror/overlay.jsdeleted 100644 → 0 +0 −51 Original line number Diff line number Diff line // Utility function that allows modes to be combined. The mode given // as the base argument takes care of most of the normal mode // functionality, but a second (typically simple) mode is used, which // can override the style of text. Both modes get to parse all of the // text, but when both assign a non-null style to a piece of code, the // overlay wins, unless the combine argument was true, in which case // the styles are combined. CodeMirror.overlayParser = function(base, overlay, combine) { return { startState: function() { return { base: CodeMirror.startState(base), overlay: CodeMirror.startState(overlay), basePos: 0, baseCur: null, overlayPos: 0, overlayCur: null }; }, copyState: function(state) { return { base: CodeMirror.copyState(base, state.base), overlay: CodeMirror.copyState(overlay, state.overlay), basePos: state.basePos, baseCur: null, overlayPos: state.overlayPos, overlayCur: null }; }, token: function(stream, state) { if (stream.start == state.basePos) { state.baseCur = base.token(stream, state.base); state.basePos = stream.pos; } if (stream.start == state.overlayPos) { stream.pos = stream.start; state.overlayCur = overlay.token(stream, state.overlay); state.overlayPos = stream.pos; } stream.pos = Math.min(state.basePos, state.overlayPos); if (stream.eol()) state.basePos = state.overlayPos = 0; if (state.overlayCur == null) return state.baseCur; if (state.baseCur != null && combine) return state.baseCur + " " + state.overlayCur; else return state.overlayCur; }, indent: function(state, textAfter) { return base.indent(state.base, textAfter); }, electricChars: base.electricChars }; };
template/resources/codemirror/runmode.jsdeleted 100644 → 0 +0 −27 Original line number Diff line number Diff line CodeMirror.runMode = function(string, modespec, callback) { var mode = CodeMirror.getMode({indentUnit: 2}, modespec); var isNode = callback.nodeType == 1; if (isNode) { var node = callback, accum = []; callback = function(string, style) { if (string == "\n") accum.push("<br>"); else if (style) accum.push("<span class=\"cm-" + CodeMirror.htmlEscape(style) + "\">" + CodeMirror.htmlEscape(string) + "</span>"); else accum.push(CodeMirror.htmlEscape(string)); } } var lines = CodeMirror.splitLines(string), state = CodeMirror.startState(mode); for (var i = 0, e = lines.length; i < e; ++i) { if (i) callback("\n"); var stream = new CodeMirror.StringStream(lines[i]); while (!stream.eol()) { var style = mode.token(stream, state); callback(stream.current(), style); stream.start = stream.pos; } } if (isNode) node.innerHTML = accum.join(""); };