##// END OF EJS Templates
Backport jupyter/notebook#89...
Backport jupyter/notebook#89 fix highlighting of non-python kernels. mock the cm_config property also when set, unlike in non backported version of this PR

File last commit:

r18289:9b8d831c
r21377:45aa5dda
Show More
codemirror-ipython.js
38 lines | 1.5 KiB | application/javascript | JavascriptLexer
/ IPython / html / static / notebook / js / codemirror-ipython.js
Matthias BUSSONNIER
Simplify codemirror ipython-mode...
r11242 // IPython mode is just a slightly altered Python Mode with `?` beeing a extra
// single operator. Here we define `ipython` mode in the require `python`
// callback to auto-load python mode, which is more likely not the best things
// to do, but at least the simple one for now.
Brian E. Granger
Updating ipython CM mode.
r10416
Matthias BUSSONNIER
Update to codemirror 4...
r18280 (function(mod) {
if (typeof exports == "object" && typeof module == "object"){ // CommonJS
Matthias Bussonnier
cleanup whitespace
r18289 mod(require("codemirror/lib/codemirror"),
Matthias BUSSONNIER
Update to codemirror 4...
r18280 require("codemirror/mode/python/python")
);
} else if (typeof define == "function" && define.amd){ // AMD
Matthias Bussonnier
cleanup whitespace
r18289 define(["codemirror/lib/codemirror",
Matthias BUSSONNIER
Update to codemirror 4...
r18280 "codemirror/mode/python/python"], mod);
} else {// Plain browser env
mod(CodeMirror);
}
})(function(CodeMirror) {
Matthias BUSSONNIER
"use strict" in most (if not all) our javascript...
r12103 "use strict";
Matthias Bussonnier
cleanup whitespace
r18289
Matthias BUSSONNIER
Simplify codemirror ipython-mode...
r11242 CodeMirror.defineMode("ipython", function(conf, parserConf) {
Jason Grout
Copy codemirror mode configuration instead of changing it...
r17543 var pythonConf = {};
for (var prop in parserConf) {
if (parserConf.hasOwnProperty(prop)) {
pythonConf[prop] = parserConf[prop];
}
}
pythonConf.name = 'python';
pythonConf.singleOperators = new RegExp("^[\\+\\-\\*/%&|\\^~<>!\\?]");
Brian E. Granger
Adding tests and limiting CM mode to python 3.
r17742 if (pythonConf.version === 3) {
pythonConf.identifiers = new RegExp("^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*");
} else if (pythonConf.version === 2) {
pythonConf.identifiers = new RegExp("^[_A-Za-z][_A-Za-z0-9]*");
}
Jason Grout
Copy codemirror mode configuration instead of changing it...
r17543 return CodeMirror.getMode(conf, pythonConf);
Matthias BUSSONNIER
Simplify codemirror ipython-mode...
r11242 }, 'python');
Brian E. Granger
Copying CodeMirror's python mode into place for our ipython mode.
r10415
Matthias BUSSONNIER
Simplify codemirror ipython-mode...
r11242 CodeMirror.defineMIME("text/x-ipython", "ipython");
})