##// END OF EJS Templates
Merge pull request #2537 from ellisonbg/examples...
Merge pull request #2537 from ellisonbg/examples Organize example notebooks - Some refactor and reorganization of notebooks - examples moved to top-level examples dir, out of docs - py3compat along the way closes #2622

File last commit:

r8169:e9c46a03
r9203:040d8477 merge
Show More
README-IPython.rst
105 lines | 4.1 KiB | text/x-rst | RstLexer
Fernando Perez
Add a README with version and ipython-specific changes info.
r4982 =======================
CodeMirror in IPython
=======================
We carry a mostly unmodified copy of CodeMirror. The current version we use
is (*please update this information when updating versions*)::
Matthias BUSSONNIER
update codemirror instruction
r8056 CodeMirror2 4e244d252a26a2dba5446d44eb46adfb3c7f356a , tag : v2.32
Fernando Perez
Add a README with version and ipython-specific changes info.
r4982
Bradley M. Froehle
Pressing Up while on the first line should move cursor to (0,0)...
r8169 The following CodeMirror commits have been cherry-picked into the source:
* 4ec8a34 Pressing Up while on the first line should move cursor to (0,0)
Matthias BUSSONNIER
=== Read this commit message if you rebase ===...
r8061 The current politics is not to ships the following folders of CodeMirrors :
* doc/
* demo/
* test/
Fernando Perez
Add a README with version and ipython-specific changes info.
r4982 The only changes we've applied so far are these::
Matthias BUSSONNIER
=== Read this commit message if you rebase ===...
r8061 git show 271e17dd21f4f0c802a573b412e430998a70a78c
Matthias BUSSONNIER
update codemirror instruction
r8056
Matthias BUSSONNIER
=== Read this commit message if you rebase ===...
r8061 commit 271e17dd21f4f0c802a573b412e430998a70a78c
Matthias BUSSONNIER
update codemirror instruction
r8056 Author: Matthias BUSSONNIER <bussonniermatthias@gmail.com>
Date: Mon Jul 23 14:53:21 2012 +0200
patch SingleOperator in CodeMirror2
diff --git a/IPython/frontend/html/notebook/static/codemirror/mode/python/python.js b/IPython/frontend/html/notebook/static/code
index d6888e8..201da51 100644
Fernando Perez
Add a README with version and ipython-specific changes info.
r4982 --- a/IPython/frontend/html/notebook/static/codemirror/mode/python/python.js
+++ b/IPython/frontend/html/notebook/static/codemirror/mode/python/python.js
Matthias BUSSONNIER
update codemirror instruction
r8056 @@ -4,8 +4,11 @@ CodeMirror.defineMode("python", function(conf, parserConf) {
function wordRegexp(words) {
return new RegExp("^((" + words.join(")|(") + "))\\b");
}
-
Fernando Perez
Add a README with version and ipython-specific changes info.
r4982 - var singleOperators = new RegExp("^[\\+\\-\\*/%&|\\^~<>!]");
Matthias BUSSONNIER
update codemirror instruction
r8056 +
Fernando Perez
Add a README with version and ipython-specific changes info.
r4982 + // IPython-specific changes: add '?' as recognized character.
+ var singleOperators = new RegExp("^[\\+\\-\\*/%&|\\^~<>!\\?]");
+ // End IPython changes.
Matthias BUSSONNIER
update codemirror instruction
r8056 +
var singleDelimiters = new RegExp('^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]');
var doubleOperators = new RegExp("^((==)|(!=)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))");
var doubleDelimiters = new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))");
Matthias BUSSONNIER
=== Read this commit message if you rebase ===...
r8061 In practice it's just a one-line change, adding `\\?` to singleOperators,
surrounded by a comment.
Then don't forget to reintroduce ipython.css
Matthias BUSSONNIER
update codemirror instruction
r8056
Matthias BUSSONNIER
=== Read this commit message if you rebase ===...
r8061 git show 39a602468ee1ca8fdb660826d6185e0f9a026fdf --stat
commit 39a602468ee1ca8fdb660826d6185e0f9a026fdf
Matthias BUSSONNIER
update codemirror instruction
r8056 Author: Matthias BUSSONNIER <bussonniermatthias@gmail.com>
Date: Mon Jul 23 14:47:08 2012 +0200
reintroduce ipython.css
IPython/frontend/html/notebook/static/codemirror/theme/ipython.css | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
Matthias BUSSONNIER
=== Read this commit message if you rebase ===...
r8061 and
Fernando Perez
Add a README with version and ipython-specific changes info.
r4982
Matthias BUSSONNIER
=== Read this commit message if you rebase ===...
r8061 git show head^
commit 331a5f7fe85a6e894c35b64cd7987ed53f59ea57
Author: Matthias BUSSONNIER <bussonniermatthias@gmail.com>
Date: Wed Jul 25 12:41:13 2012 +0200
Fernando Perez
Add a README with version and ipython-specific changes info.
r4982
Matthias BUSSONNIER
=== Read this commit message if you rebase ===...
r8061 patch deletion in codemirror
diff --git a/IPython/frontend/html/notebook/static/codemirror/lib/codemirror.js b/IPython/frontend/html/notebook/static/codemirror/lib/codemirror.js
index 89401a9..a9dfdfe 100644
--- a/IPython/frontend/html/notebook/static/codemirror/lib/codemirror.js
+++ b/IPython/frontend/html/notebook/static/codemirror/lib/codemirror.js
@@ -2194,6 +2194,20 @@ var CodeMirror = (function() {
cm.indentLine(cm.getCursor().line);
},
toggleOverwrite: function(cm) {cm.toggleOverwrite();}
+ ,delSpaceToPrevTabStop : function(cm){
+ var from = cm.getCursor(true), to = cm.getCursor(false), sel = !posEq(from, to);
+ if (!posEq(from, to)) {cm.replaceRange("", from, to); return}
+ var cur = cm.getCursor(), line = cm.getLine(cur.line);
+ var tabsize = cm.getOption('tabSize');
+ var chToPrevTabStop = cur.ch-(Math.ceil(cur.ch/tabsize)-1)*tabsize;
+ var from = {ch:cur.ch-chToPrevTabStop,line:cur.line}
+ var select = cm.getRange(from,cur)
+ if( select.match(/^\ +$/) != null){
+ cm.replaceRange("",from,cur)
+ } else {
+ cm.deleteH(-1,"char")
+ }
+ }
};
var keyMap = CodeMirror.keyMap = {};
that you should be able to apply after updating codemirror with
git cherry-pick 271e17 39a602 331a5f
We'll turn this into a proper patchset if it ever gets more complicated than
this, but for now this note should be enough.