##// END OF EJS Templates
Correct decisions about when to automatically get local namespace and module for embedding.
Correct decisions about when to automatically get local namespace and module for embedding.

File last commit:

r4934:265d40c7
r5668:e1cf2c32
Show More
runmode.js
27 lines | 951 B | application/javascript | JavascriptLexer
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("");
};