diff options
Diffstat (limited to 'imports/codemirror')
104 files changed, 15457 insertions, 0 deletions
diff --git a/imports/codemirror/LICENSE b/imports/codemirror/LICENSE new file mode 100755 index 00000000..3f7c0bb1 --- /dev/null +++ b/imports/codemirror/LICENSE | |||
@@ -0,0 +1,19 @@ | |||
1 | Copyright (C) 2011 by Marijn Haverbeke <marijnh@gmail.com> | ||
2 | |||
3 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
4 | of this software and associated documentation files (the "Software"), to deal | ||
5 | in the Software without restriction, including without limitation the rights | ||
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
7 | copies of the Software, and to permit persons to whom the Software is | ||
8 | furnished to do so, subject to the following conditions: | ||
9 | |||
10 | The above copyright notice and this permission notice shall be included in | ||
11 | all copies or substantial portions of the Software. | ||
12 | |||
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
19 | THE SOFTWARE. | ||
diff --git a/imports/codemirror/keymap/emacs.js b/imports/codemirror/keymap/emacs.js new file mode 100755 index 00000000..8fd3564e --- /dev/null +++ b/imports/codemirror/keymap/emacs.js | |||
@@ -0,0 +1,29 @@ | |||
1 | // TODO number prefixes | ||
2 | (function() { | ||
3 | // Really primitive kill-ring implementation. | ||
4 | var killRing = []; | ||
5 | function addToRing(str) { | ||
6 | killRing.push(str); | ||
7 | if (killRing.length > 50) killRing.shift(); | ||
8 | } | ||
9 | function getFromRing() { return killRing[killRing.length - 1] || ""; } | ||
10 | function popFromRing() { if (killRing.length > 1) killRing.pop(); return getFromRing(); } | ||
11 | |||
12 | CodeMirror.keyMap.emacs = { | ||
13 | "Ctrl-X": function(cm) {cm.setOption("keyMap", "emacs-Ctrl-X");}, | ||
14 | "Ctrl-W": function(cm) {addToRing(cm.getSelection()); cm.replaceSelection("");}, | ||
15 | "Ctrl-Alt-W": function(cm) {addToRing(cm.getSelection()); cm.replaceSelection("");}, | ||
16 | "Alt-W": function(cm) {addToRing(cm.getSelection());}, | ||
17 | "Ctrl-Y": function(cm) {cm.replaceSelection(getFromRing());}, | ||
18 | "Alt-Y": function(cm) {cm.replaceSelection(popFromRing());}, | ||
19 | "Ctrl-/": "undo", "Shift-Ctrl--": "undo", "Shift-Alt-,": "goDocStart", "Shift-Alt-.": "goDocEnd", | ||
20 | "Ctrl-S": "findNext", "Ctrl-R": "findPrev", "Ctrl-G": "clearSearch", "Shift-Alt-5": "replace", | ||
21 | "Ctrl-Z": "undo", "Cmd-Z": "undo", | ||
22 | fallthrough: ["basic", "emacsy"] | ||
23 | }; | ||
24 | |||
25 | CodeMirror.keyMap["emacs-Ctrl-X"] = { | ||
26 | "Ctrl-S": "save", "Ctrl-W": "save", "S": "saveAll", "F": "open", "U": "undo", "K": "close", | ||
27 | auto: "emacs", catchall: function(cm) {/*ignore*/} | ||
28 | }; | ||
29 | })(); | ||
diff --git a/imports/codemirror/keymap/vim.js b/imports/codemirror/keymap/vim.js new file mode 100755 index 00000000..e03e0128 --- /dev/null +++ b/imports/codemirror/keymap/vim.js | |||
@@ -0,0 +1,76 @@ | |||
1 | (function() { | ||
2 | var count = ""; | ||
3 | function pushCountDigit(digit) { return function(cm) {count += digit;} } | ||
4 | function popCount() { var i = parseInt(count); count = ""; return i || 1; } | ||
5 | function countTimes(func) { | ||