@@ -69,11 +70,57 @@ on top of the show-hintjavascript-hint
addons.
-
-
+
+
+
+
+
diff --git a/www/code/codemirror-5.13.2/demo/emacs.html b/www/code/CodeMirror-5.16.0/demo/emacs.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/emacs.html
rename to www/code/CodeMirror-5.16.0/demo/emacs.html
diff --git a/www/code/codemirror-5.13.2/demo/folding.html b/www/code/CodeMirror-5.16.0/demo/folding.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/folding.html
rename to www/code/CodeMirror-5.16.0/demo/folding.html
diff --git a/www/code/codemirror-5.13.2/demo/fullscreen.html b/www/code/CodeMirror-5.16.0/demo/fullscreen.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/fullscreen.html
rename to www/code/CodeMirror-5.16.0/demo/fullscreen.html
diff --git a/www/code/codemirror-5.13.2/demo/hardwrap.html b/www/code/CodeMirror-5.16.0/demo/hardwrap.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/hardwrap.html
rename to www/code/CodeMirror-5.16.0/demo/hardwrap.html
diff --git a/www/code/codemirror-5.13.2/demo/html5complete.html b/www/code/CodeMirror-5.16.0/demo/html5complete.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/html5complete.html
rename to www/code/CodeMirror-5.16.0/demo/html5complete.html
diff --git a/www/code/codemirror-5.13.2/demo/indentwrap.html b/www/code/CodeMirror-5.16.0/demo/indentwrap.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/indentwrap.html
rename to www/code/CodeMirror-5.16.0/demo/indentwrap.html
diff --git a/www/code/codemirror-5.13.2/demo/lint.html b/www/code/CodeMirror-5.16.0/demo/lint.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/lint.html
rename to www/code/CodeMirror-5.16.0/demo/lint.html
diff --git a/www/code/codemirror-5.13.2/demo/loadmode.html b/www/code/CodeMirror-5.16.0/demo/loadmode.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/loadmode.html
rename to www/code/CodeMirror-5.16.0/demo/loadmode.html
diff --git a/www/code/codemirror-5.13.2/demo/marker.html b/www/code/CodeMirror-5.16.0/demo/marker.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/marker.html
rename to www/code/CodeMirror-5.16.0/demo/marker.html
diff --git a/www/code/codemirror-5.13.2/demo/markselection.html b/www/code/CodeMirror-5.16.0/demo/markselection.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/markselection.html
rename to www/code/CodeMirror-5.16.0/demo/markselection.html
diff --git a/www/code/codemirror-5.13.2/demo/matchhighlighter.html b/www/code/CodeMirror-5.16.0/demo/matchhighlighter.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/matchhighlighter.html
rename to www/code/CodeMirror-5.16.0/demo/matchhighlighter.html
diff --git a/www/code/codemirror-5.13.2/demo/matchtags.html b/www/code/CodeMirror-5.16.0/demo/matchtags.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/matchtags.html
rename to www/code/CodeMirror-5.16.0/demo/matchtags.html
diff --git a/www/code/codemirror-5.13.2/demo/merge.html b/www/code/CodeMirror-5.16.0/demo/merge.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/merge.html
rename to www/code/CodeMirror-5.16.0/demo/merge.html
diff --git a/www/code/codemirror-5.13.2/demo/multiplex.html b/www/code/CodeMirror-5.16.0/demo/multiplex.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/multiplex.html
rename to www/code/CodeMirror-5.16.0/demo/multiplex.html
diff --git a/www/code/codemirror-5.13.2/demo/mustache.html b/www/code/CodeMirror-5.16.0/demo/mustache.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/mustache.html
rename to www/code/CodeMirror-5.16.0/demo/mustache.html
diff --git a/www/code/codemirror-5.13.2/demo/panel.html b/www/code/CodeMirror-5.16.0/demo/panel.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/panel.html
rename to www/code/CodeMirror-5.16.0/demo/panel.html
diff --git a/www/code/codemirror-5.13.2/demo/placeholder.html b/www/code/CodeMirror-5.16.0/demo/placeholder.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/placeholder.html
rename to www/code/CodeMirror-5.16.0/demo/placeholder.html
diff --git a/www/code/codemirror-5.13.2/demo/preview.html b/www/code/CodeMirror-5.16.0/demo/preview.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/preview.html
rename to www/code/CodeMirror-5.16.0/demo/preview.html
diff --git a/www/code/codemirror-5.13.2/demo/requirejs.html b/www/code/CodeMirror-5.16.0/demo/requirejs.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/requirejs.html
rename to www/code/CodeMirror-5.16.0/demo/requirejs.html
diff --git a/www/code/codemirror-5.13.2/demo/resize.html b/www/code/CodeMirror-5.16.0/demo/resize.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/resize.html
rename to www/code/CodeMirror-5.16.0/demo/resize.html
diff --git a/www/code/codemirror-5.13.2/demo/rulers.html b/www/code/CodeMirror-5.16.0/demo/rulers.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/rulers.html
rename to www/code/CodeMirror-5.16.0/demo/rulers.html
diff --git a/www/code/codemirror-5.13.2/demo/runmode.html b/www/code/CodeMirror-5.16.0/demo/runmode.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/runmode.html
rename to www/code/CodeMirror-5.16.0/demo/runmode.html
diff --git a/www/code/codemirror-5.13.2/demo/search.html b/www/code/CodeMirror-5.16.0/demo/search.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/search.html
rename to www/code/CodeMirror-5.16.0/demo/search.html
diff --git a/www/code/codemirror-5.13.2/demo/simplemode.html b/www/code/CodeMirror-5.16.0/demo/simplemode.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/simplemode.html
rename to www/code/CodeMirror-5.16.0/demo/simplemode.html
diff --git a/www/code/codemirror-5.13.2/demo/simplescrollbars.html b/www/code/CodeMirror-5.16.0/demo/simplescrollbars.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/simplescrollbars.html
rename to www/code/CodeMirror-5.16.0/demo/simplescrollbars.html
diff --git a/www/code/codemirror-5.13.2/demo/spanaffectswrapping_shim.html b/www/code/CodeMirror-5.16.0/demo/spanaffectswrapping_shim.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/spanaffectswrapping_shim.html
rename to www/code/CodeMirror-5.16.0/demo/spanaffectswrapping_shim.html
diff --git a/www/code/codemirror-5.13.2/demo/sublime.html b/www/code/CodeMirror-5.16.0/demo/sublime.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/sublime.html
rename to www/code/CodeMirror-5.16.0/demo/sublime.html
diff --git a/www/code/codemirror-5.13.2/demo/tern.html b/www/code/CodeMirror-5.16.0/demo/tern.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/tern.html
rename to www/code/CodeMirror-5.16.0/demo/tern.html
diff --git a/www/code/codemirror-5.13.2/demo/theme.html b/www/code/CodeMirror-5.16.0/demo/theme.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/theme.html
rename to www/code/CodeMirror-5.16.0/demo/theme.html
diff --git a/www/code/codemirror-5.13.2/demo/trailingspace.html b/www/code/CodeMirror-5.16.0/demo/trailingspace.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/trailingspace.html
rename to www/code/CodeMirror-5.16.0/demo/trailingspace.html
diff --git a/www/code/codemirror-5.13.2/demo/variableheight.html b/www/code/CodeMirror-5.16.0/demo/variableheight.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/variableheight.html
rename to www/code/CodeMirror-5.16.0/demo/variableheight.html
diff --git a/www/code/codemirror-5.13.2/demo/vim.html b/www/code/CodeMirror-5.16.0/demo/vim.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/vim.html
rename to www/code/CodeMirror-5.16.0/demo/vim.html
diff --git a/www/code/codemirror-5.13.2/demo/visibletabs.html b/www/code/CodeMirror-5.16.0/demo/visibletabs.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/visibletabs.html
rename to www/code/CodeMirror-5.16.0/demo/visibletabs.html
diff --git a/www/code/codemirror-5.13.2/demo/widget.html b/www/code/CodeMirror-5.16.0/demo/widget.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/widget.html
rename to www/code/CodeMirror-5.16.0/demo/widget.html
diff --git a/www/code/codemirror-5.13.2/demo/xmlcomplete.html b/www/code/CodeMirror-5.16.0/demo/xmlcomplete.html
similarity index 100%
rename from www/code/codemirror-5.13.2/demo/xmlcomplete.html
rename to www/code/CodeMirror-5.16.0/demo/xmlcomplete.html
diff --git a/www/code/codemirror-5.13.2/doc/activebookmark.js b/www/code/CodeMirror-5.16.0/doc/activebookmark.js
similarity index 100%
rename from www/code/codemirror-5.13.2/doc/activebookmark.js
rename to www/code/CodeMirror-5.16.0/doc/activebookmark.js
diff --git a/www/code/codemirror-5.13.2/doc/compress.html b/www/code/CodeMirror-5.16.0/doc/compress.html
similarity index 94%
rename from www/code/codemirror-5.13.2/doc/compress.html
rename to www/code/CodeMirror-5.16.0/doc/compress.html
index 47d689429..b890bee02 100644
--- a/www/code/codemirror-5.13.2/doc/compress.html
+++ b/www/code/CodeMirror-5.16.0/doc/compress.html
@@ -36,21 +36,26 @@
Version:
- Get the current version: 5.13.
+ Get the current version: 5.16.0.
You can see the code or
read the release notes.
There is a minification helper.
@@ -106,14 +106,14 @@
maintainers need to subsist.
Current funding status =
You can help per month or
- once.
+ once.
-
+
diff --git a/www/code/codemirror-5.13.2/keymap/emacs.js b/www/code/CodeMirror-5.16.0/keymap/emacs.js
similarity index 100%
rename from www/code/codemirror-5.13.2/keymap/emacs.js
rename to www/code/CodeMirror-5.16.0/keymap/emacs.js
diff --git a/www/code/codemirror-5.13.2/keymap/sublime.js b/www/code/CodeMirror-5.16.0/keymap/sublime.js
similarity index 94%
rename from www/code/codemirror-5.13.2/keymap/sublime.js
rename to www/code/CodeMirror-5.16.0/keymap/sublime.js
index 49db3b871..ed6b84742 100644
--- a/www/code/codemirror-5.13.2/keymap/sublime.js
+++ b/www/code/CodeMirror-5.16.0/keymap/sublime.js
@@ -55,6 +55,8 @@
cmds[map["Alt-Left"] = "goSubwordLeft"] = function(cm) { moveSubword(cm, -1); };
cmds[map["Alt-Right"] = "goSubwordRight"] = function(cm) { moveSubword(cm, 1); };
+ if (mac) map["Cmd-Left"] = "goLineStartSmart";
+
var scrollLineCombo = mac ? "Ctrl-Alt-" : "Ctrl-";
cmds[map[scrollLineCombo + "Up"] = "scrollLineUp"] = function(cm) {
@@ -122,6 +124,7 @@
}
cm.setSelections(newSelection);
});
+ cm.execCommand("indentAuto");
}
cmds[map[ctrl + "Enter"] = "insertLineAfter"] = function(cm) { return insertLine(cm, false); };
@@ -420,22 +423,29 @@
cmds[map["Backspace"] = "smartBackspace"] = function(cm) {
if (cm.somethingSelected()) return CodeMirror.Pass;
- var cursor = cm.getCursor();
- var toStartOfLine = cm.getRange({line: cursor.line, ch: 0}, cursor);
- var column = CodeMirror.countColumn(toStartOfLine, null, cm.getOption("tabSize"));
- var indentUnit = cm.getOption("indentUnit");
+ cm.operation(function() {
+ var cursors = cm.listSelections();
+ var indentUnit = cm.getOption("indentUnit");
- if (toStartOfLine && !/\S/.test(toStartOfLine) && column % indentUnit == 0) {
- var prevIndent = new Pos(cursor.line,
- CodeMirror.findColumn(toStartOfLine, column - indentUnit, indentUnit));
+ for (var i = cursors.length - 1; i >= 0; i--) {
+ var cursor = cursors[i].head;
+ var toStartOfLine = cm.getRange({line: cursor.line, ch: 0}, cursor);
+ var column = CodeMirror.countColumn(toStartOfLine, null, cm.getOption("tabSize"));
- // If no smart delete is happening (due to tab sizing) just do a regular delete
- if (prevIndent.ch == cursor.ch) return CodeMirror.Pass;
+ // Delete by one character by default
+ var deletePos = cm.findPosH(cursor, -1, "char", false);
- return cm.replaceRange("", prevIndent, cursor, "+delete");
- } else {
- return CodeMirror.Pass;
- }
+ if (toStartOfLine && !/\S/.test(toStartOfLine) && column % indentUnit == 0) {
+ var prevIndent = new Pos(cursor.line,
+ CodeMirror.findColumn(toStartOfLine, column - indentUnit, indentUnit));
+
+ // Smart delete only if we found a valid prevIndent location
+ if (prevIndent.ch != cursor.ch) deletePos = prevIndent;
+ }
+
+ cm.replaceRange("", deletePos, cursor, "+delete");
+ }
+ });
};
cmds[map[cK + ctrl + "K"] = "delLineRight"] = function(cm) {
@@ -490,7 +500,8 @@
cm.scrollTo(null, (pos.top + pos.bottom) / 2 - cm.getScrollInfo().clientHeight / 2);
};
- cmds[map["Shift-Alt-Up"] = "selectLinesUpward"] = function(cm) {
+ var selectLinesCombo = mac ? "Ctrl-Shift-" : "Ctrl-Alt-";
+ cmds[map[selectLinesCombo + "Up"] = "selectLinesUpward"] = function(cm) {
cm.operation(function() {
var ranges = cm.listSelections();
for (var i = 0; i < ranges.length; i++) {
@@ -500,7 +511,7 @@
}
});
};
- cmds[map["Shift-Alt-Down"] = "selectLinesDownward"] = function(cm) {
+ cmds[map[selectLinesCombo + "Down"] = "selectLinesDownward"] = function(cm) {
cm.operation(function() {
var ranges = cm.listSelections();
for (var i = 0; i < ranges.length; i++) {
diff --git a/www/code/codemirror-5.13.2/keymap/vim.js b/www/code/CodeMirror-5.16.0/keymap/vim.js
similarity index 99%
rename from www/code/codemirror-5.13.2/keymap/vim.js
rename to www/code/CodeMirror-5.16.0/keymap/vim.js
index 5ed2d9bf7..4278ee979 100644
--- a/www/code/codemirror-5.13.2/keymap/vim.js
+++ b/www/code/CodeMirror-5.16.0/keymap/vim.js
@@ -26,7 +26,7 @@
* 2. Variable declarations and short basic helpers
* 3. Instance (External API) implementation
* 4. Internal state tracking objects (input state, counter) implementation
- * and instanstiation
+ * and instantiation
* 5. Key handler (the main command dispatcher) implementation
* 6. Motion, operator, and action implementations
* 7. Helper functions for the key handler, motions, operators, and actions
@@ -226,6 +226,7 @@
{ name: 'sort', shortName: 'sor' },
{ name: 'substitute', shortName: 's', possiblyAsync: true },
{ name: 'nohlsearch', shortName: 'noh' },
+ { name: 'yank', shortName: 'y' },
{ name: 'delmarks', shortName: 'delm' },
{ name: 'registers', shortName: 'reg', excludeFromCommandHistory: true },
{ name: 'global', shortName: 'g' }
@@ -641,7 +642,7 @@
jumpList: createCircularJumpList(),
macroModeState: new MacroModeState,
// Recording latest f, t, F or T motion command.
- lastChararacterSearch: {increment:0, forward:true, selectedCharacter:''},
+ lastCharacterSearch: {increment:0, forward:true, selectedCharacter:''},
registerController: new RegisterController({}),
// search history buffer
searchHistoryController: new HistoryController({}),
@@ -1047,7 +1048,7 @@
};
function HistoryController() {
this.historyBuffer = [];
- this.iterator;
+ this.iterator = 0;
this.initialPrefix = null;
}
HistoryController.prototype = {
@@ -1372,7 +1373,7 @@
}
},
evalInput: function(cm, vim) {
- // If the motion comand is set, execute both the operator and motion.
+ // If the motion command is set, execute both the operator and motion.
// Otherwise return.
var inputState = vim.inputState;
var motion = inputState.motion;
@@ -1909,7 +1910,7 @@
},
repeatLastCharacterSearch: function(cm, head, motionArgs) {
- var lastSearch = vimGlobalState.lastChararacterSearch;
+ var lastSearch = vimGlobalState.lastCharacterSearch;
var repeat = motionArgs.repeat;
var forward = motionArgs.forward === lastSearch.forward;
var increment = (lastSearch.increment ? 1 : 0) * (forward ? -1 : 1);
@@ -3002,7 +3003,7 @@
// Only clip if the selection ends with trailing newline + whitespace
if (/\n\s*$/.test(selection)) {
var lines = selection.split('\n');
- // We know this is all whitepsace.
+ // We know this is all whitespace.
lines.pop();
// Cases:
@@ -3088,9 +3089,9 @@
}
function recordLastCharacterSearch(increment, args) {
- vimGlobalState.lastChararacterSearch.increment = increment;
- vimGlobalState.lastChararacterSearch.forward = args.forward;
- vimGlobalState.lastChararacterSearch.selectedCharacter = args.selectedCharacter;
+ vimGlobalState.lastCharacterSearch.increment = increment;
+ vimGlobalState.lastCharacterSearch.forward = args.forward;
+ vimGlobalState.lastCharacterSearch.selectedCharacter = args.selectedCharacter;
}
var symbolToMode = {
@@ -3289,8 +3290,6 @@
line = cm.getLine(lineNum);
pos = (dir > 0) ? 0 : line.length;
}
- // Should never get here.
- throw new Error('The impossible happened.');
}
/**
@@ -3452,7 +3451,7 @@
}
// TODO: perhaps this finagling of start and end positions belonds
- // in codmirror/replaceRange?
+ // in codemirror/replaceRange?
function selectCompanionObject(cm, head, symb, inclusive) {
var cur = head, start, end;
@@ -3783,17 +3782,10 @@
}
}
function makePrompt(prefix, desc) {
- var raw = '';
- if (prefix) {
- raw += '' + prefix + '';
- }
- raw += ' ' +
- '';
- if (desc) {
- raw += '';
- raw += desc;
- raw += '';
- }
+ var raw = '' +
+ (prefix || "") + '';
+ if (desc)
+ raw += ' ' + desc + '';
return raw;
}
var searchPromptDesc = '(Javascript regexp)';
@@ -4514,14 +4506,21 @@
if (CodeMirror.commands.save) {
// If a save command is defined, call it.
CodeMirror.commands.save(cm);
- } else {
- // Saves to text area if no save command is defined.
+ } else if (cm.save) {
+ // Saves to text area if no save command is defined and cm.save() is available.
cm.save();
}
},
nohlsearch: function(cm) {
clearSearchHighlight(cm);
},
+ yank: function (cm) {
+ var cur = copyCursor(cm.getCursor());
+ var line = cur.line;
+ var lineText = cm.getLine(line);
+ vimGlobalState.registerController.pushText(
+ '0', 'yank', lineText, true, true);
+ },
delmarks: function(cm, params) {
if (!params.argString || !trim(params.argString)) {
showConfirm(cm, 'Argument required');
diff --git a/www/code/codemirror-5.13.2/lib/codemirror.css b/www/code/CodeMirror-5.16.0/lib/codemirror.css
similarity index 97%
rename from www/code/codemirror-5.13.2/lib/codemirror.css
rename to www/code/CodeMirror-5.16.0/lib/codemirror.css
index 1cf66a9fa..18b0bf70d 100644
--- a/www/code/codemirror-5.13.2/lib/codemirror.css
+++ b/www/code/CodeMirror-5.16.0/lib/codemirror.css
@@ -52,7 +52,7 @@
}
.cm-fat-cursor .CodeMirror-cursor {
width: auto;
- border: 0;
+ border: 0 !important;
background: #7e7;
}
.cm-fat-cursor div.CodeMirror-cursors {
@@ -88,8 +88,14 @@
.cm-tab { display: inline-block; text-decoration: inherit; }
+.CodeMirror-rulers {
+ position: absolute;
+ left: 0; right: 0; top: -50px; bottom: -20px;
+ overflow: hidden;
+}
.CodeMirror-ruler {
border-left: 1px solid #ccc;
+ top: 0; bottom: 0;
position: absolute;
}
@@ -291,7 +297,10 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
visibility: hidden;
}
-.CodeMirror-cursor { position: absolute; }
+.CodeMirror-cursor {
+ position: absolute;
+ pointer-events: none;
+}
.CodeMirror-measure pre { position: static; }
div.CodeMirror-cursors {
diff --git a/www/code/codemirror-5.13.2/lib/codemirror.js b/www/code/CodeMirror-5.16.0/lib/codemirror.js
similarity index 98%
rename from www/code/codemirror-5.13.2/lib/codemirror.js
rename to www/code/CodeMirror-5.16.0/lib/codemirror.js
index ec49e3a33..7dc842d3b 100644
--- a/www/code/codemirror-5.13.2/lib/codemirror.js
+++ b/www/code/CodeMirror-5.16.0/lib/codemirror.js
@@ -41,6 +41,7 @@
// This is woefully incomplete. Suggestions for alternative methods welcome.
var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);
var mac = ios || /Mac/.test(platform);
+ var chromeOS = /\bCrOS\b/.test(userAgent);
var windows = /win/i.test(platform);
var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/);
@@ -1095,9 +1096,9 @@
if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm); }
}
- // This will be set to an array of strings when copying, so that,
- // when pasting, we know what kind of selections the copied text
- // was made out of.
+ // This will be set to a {lineWise: bool, text: [string]} object, so
+ // that, when pasting, we know what kind of selections the copied
+ // text was made out of.
var lastCopied = null;
function applyTextInput(cm, inserted, deleted, sel, origin) {
@@ -1106,14 +1107,14 @@
if (!sel) sel = doc.sel;
var paste = cm.state.pasteIncoming || origin == "paste";
- var textLines = doc.splitLines(inserted), multiPaste = null;
+ var textLines = doc.splitLines(inserted), multiPaste = null
// When pasing N lines into N selections, insert one line per selection
if (paste && sel.ranges.length > 1) {
- if (lastCopied && lastCopied.join("\n") == inserted) {
- if (sel.ranges.length % lastCopied.length == 0) {
+ if (lastCopied && lastCopied.text.join("\n") == inserted) {
+ if (sel.ranges.length % lastCopied.text.length == 0) {
multiPaste = [];
- for (var i = 0; i < lastCopied.length; i++)
- multiPaste.push(doc.splitLines(lastCopied[i]));
+ for (var i = 0; i < lastCopied.text.length; i++)
+ multiPaste.push(doc.splitLines(lastCopied.text[i]));
}
} else if (textLines.length == sel.ranges.length) {
multiPaste = map(textLines, function(l) { return [l]; });
@@ -1129,6 +1130,8 @@
from = Pos(from.line, from.ch - deleted);
else if (cm.state.overwrite && !paste) // Handle overwrite
to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length));
+ else if (lastCopied && lastCopied.lineWise && lastCopied.text.join("\n") == inserted)
+ from = to = Pos(from.line, 0)
}
var updateInput = cm.curOp.updateInput;
var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i % multiPaste.length] : textLines,
@@ -1261,18 +1264,18 @@
function prepareCopyCut(e) {
if (signalDOMEvent(cm, e)) return
if (cm.somethingSelected()) {
- lastCopied = cm.getSelections();
+ lastCopied = {lineWise: false, text: cm.getSelections()};
if (input.inaccurateSelection) {
input.prevInput = "";
input.inaccurateSelection = false;
- te.value = lastCopied.join("\n");
+ te.value = lastCopied.text.join("\n");
selectInput(te);
}
} else if (!cm.options.lineWiseCopyCut) {
return;
} else {
var ranges = copyableRanges(cm);
- lastCopied = ranges.text;
+ lastCopied = {lineWise: true, text: ranges.text};
if (e.type == "cut") {
cm.setSelections(ranges.ranges, null, sel_dontScroll);
} else {
@@ -1620,13 +1623,13 @@
function onCopyCut(e) {
if (signalDOMEvent(cm, e)) return
if (cm.somethingSelected()) {
- lastCopied = cm.getSelections();
+ lastCopied = {lineWise: false, text: cm.getSelections()};
if (e.type == "cut") cm.replaceSelection("", null, "cut");
} else if (!cm.options.lineWiseCopyCut) {
return;
} else {
var ranges = copyableRanges(cm);
- lastCopied = ranges.text;
+ lastCopied = {lineWise: true, text: ranges.text};
if (e.type == "cut") {
cm.operation(function() {
cm.setSelections(ranges.ranges, 0, sel_dontScroll);
@@ -1638,12 +1641,12 @@
if (e.clipboardData && !ios) {
e.preventDefault();
e.clipboardData.clearData();
- e.clipboardData.setData("text/plain", lastCopied.join("\n"));
+ e.clipboardData.setData("text/plain", lastCopied.text.join("\n"));
} else {
// Old-fashioned briefly-focus-a-textarea hack
var kludge = hiddenTextarea(), te = kludge.firstChild;
cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild);
- te.value = lastCopied.join("\n");
+ te.value = lastCopied.text.join("\n");
var hadFocus = document.activeElement;
selectInput(te);
setTimeout(function() {
@@ -1662,9 +1665,9 @@
return result;
},
- showSelection: function(info) {
+ showSelection: function(info, takeFocus) {
if (!info || !this.cm.display.view.length) return;
- if (info.focus) this.showPrimarySelection();
+ if (info.focus || takeFocus) this.showPrimarySelection();
this.showMultipleSelections(info);
},
@@ -2930,10 +2933,23 @@
for (;;) {
if (bidi ? to == from || to == moveVisually(lineObj, from, 1) : to - from <= 1) {
var ch = x < fromX || x - fromX <= toX - x ? from : to;
+ var outside = ch == from ? fromOutside : toOutside
var xDiff = x - (ch == from ? fromX : toX);
+ // This is a kludge to handle the case where the coordinates
+ // are after a line-wrapped line. We should replace it with a
+ // more general handling of cursor positions around line
+ // breaks. (Issue #4078)
+ if (toOutside && !bidi && !/\s/.test(lineObj.text.charAt(ch)) && xDiff > 0 &&
+ ch < lineObj.text.length && preparedMeasure.view.measure.heights.length > 1) {
+ var charSize = measureCharPrepared(cm, preparedMeasure, ch, "right");
+ if (innerOff <= charSize.bottom && innerOff >= charSize.top && Math.abs(x - charSize.right) < xDiff) {
+ outside = false
+ ch++
+ xDiff = x - charSize.right
+ }
+ }
while (isExtendingChar(lineObj.text.charAt(ch))) ++ch;
- var pos = PosWithInfo(lineNo, ch, ch == from ? fromOutside : toOutside,
- xDiff < -1 ? -1 : xDiff > 1 ? 1 : 0);
+ var pos = PosWithInfo(lineNo, ch, outside, xDiff < -1 ? -1 : xDiff > 1 ? 1 : 0);
return pos;
}
var step = Math.ceil(dist / 2), middle = from + step;
@@ -3100,7 +3116,7 @@
}
if (op.updatedDisplay || op.selectionChanged)
- op.preparedSelection = display.input.prepareSelection();
+ op.preparedSelection = display.input.prepareSelection(op.focus);
}
function endOperation_W2(op) {
@@ -3113,8 +3129,9 @@
cm.display.maxLineChanged = false;
}
+ var takeFocus = op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus())
if (op.preparedSelection)
- cm.display.input.showSelection(op.preparedSelection);
+ cm.display.input.showSelection(op.preparedSelection, takeFocus);
if (op.updatedDisplay || op.startHeight != cm.doc.height)
updateScrollbars(cm, op.barMeasure);
if (op.updatedDisplay)
@@ -3124,8 +3141,7 @@
if (cm.state.focused && op.updateInput)
cm.display.input.reset(op.typing);
- if (op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus()))
- ensureFocus(op.cm);
+ if (takeFocus) ensureFocus(op.cm);
}
function endOperation_finish(op) {
@@ -3657,6 +3673,7 @@
// Let the drag handler handle this.
if (webkit) display.scroller.draggable = true;
cm.state.draggingText = dragEnd;
+ dragEnd.copy = mac ? e.altKey : e.ctrlKey
// IE's approach to draggable
if (display.scroller.dragDrop) display.scroller.dragDrop();
on(document, "mouseup", dragEnd);
@@ -3680,7 +3697,7 @@
ourIndex = doc.sel.primIndex;
}
- if (e.altKey) {
+ if (chromeOS ? e.shiftKey && e.metaKey : e.altKey) {
type = "rect";
if (!addNew) ourRange = new Range(start, start);
start = posFromMouse(cm, e, true, true);
@@ -3887,7 +3904,7 @@
try {
var text = e.dataTransfer.getData("Text");
if (text) {
- if (cm.state.draggingText && !(mac ? e.altKey : e.ctrlKey))
+ if (cm.state.draggingText && !cm.state.draggingText.copy)
var selected = cm.listSelections();
setSelectionNoUndo(cm.doc, simpleSelection(pos, pos));
if (selected) for (var i = 0; i < selected.length; ++i)
@@ -3905,6 +3922,7 @@
if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) return;
e.dataTransfer.setData("Text", cm.getSelection());
+ e.dataTransfer.effectAllowed = "copyMove"
// Use dummy image instead of default browsers image.
// Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.
@@ -5390,7 +5408,7 @@
for (var i = newBreaks.length - 1; i >= 0; i--)
replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length))
});
- option("specialChars", /[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function(cm, val, old) {
+ option("specialChars", /[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function(cm, val, old) {
cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g");
if (old != CodeMirror.Init) cm.refresh();
});
@@ -5719,7 +5737,7 @@
for (var i = 0; i < ranges.length; i++) {
var pos = ranges[i].from();
var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize);
- spaces.push(new Array(tabSize - col % tabSize + 1).join(" "));
+ spaces.push(spaceStr(tabSize - col % tabSize));
}
cm.replaceSelections(spaces);
},
@@ -5762,6 +5780,7 @@
ensureCursorVisible(cm);
});
},
+ openLine: function(cm) {cm.replaceSelection("\n", "start")},
toggleOverwrite: function(cm) {cm.toggleOverwrite();}
};
@@ -5796,7 +5815,8 @@
"Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown",
"Alt-F": "goWordRight", "Alt-B": "goWordLeft", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd",
"Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore",
- "Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars"
+ "Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars",
+ "Ctrl-O": "openLine"
};
keyMap.macDefault = {
"Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo",
@@ -6558,8 +6578,8 @@
var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker);
var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker);
if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) continue;
- if (fromCmp <= 0 && (cmp(found.to, from) > 0 || (sp.marker.inclusiveRight && marker.inclusiveLeft)) ||
- fromCmp >= 0 && (cmp(found.from, to) < 0 || (sp.marker.inclusiveLeft && marker.inclusiveRight)))
+ if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) ||
+ fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0))
return true;
}
}
@@ -6961,8 +6981,11 @@
}
// See issue #2901
- if (webkit && /\bcm-tab\b/.test(builder.content.lastChild.className))
- builder.content.className = "cm-tab-wrap-hack";
+ if (webkit) {
+ var last = builder.content.lastChild
+ if (/\bcm-tab\b/.test(last.className) || (last.querySelector && last.querySelector(".cm-tab")))
+ builder.content.className = "cm-tab-wrap-hack";
+ }
signal(cm, "renderLine", cm, lineView.line, builder.pre);
if (builder.pre.className)
@@ -7314,13 +7337,16 @@
if (at <= sz) {
child.insertInner(at, lines, height);
if (child.lines && child.lines.length > 50) {
- while (child.lines.length > 50) {
- var spilled = child.lines.splice(child.lines.length - 25, 25);
- var newleaf = new LeafChunk(spilled);
- child.height -= newleaf.height;
- this.children.splice(i + 1, 0, newleaf);
- newleaf.parent = this;
+ // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.
+ // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.
+ var remaining = child.lines.length % 25 + 25
+ for (var pos = remaining; pos < child.lines.length;) {
+ var leaf = new LeafChunk(child.lines.slice(pos, pos += 25));
+ child.height -= leaf.height;
+ this.children.splice(++i, 0, leaf);
+ leaf.parent = this;
}
+ child.lines = child.lines.slice(0, remaining);
this.maybeSpill();
}
break;
@@ -7340,7 +7366,7 @@
copy.parent = me;
me.children = [copy, sibling];
me = copy;
- } else {
+ } else {
me.size -= sibling.size;
me.height -= sibling.height;
var myIndex = indexOf(me.parent.children, me);
@@ -7625,9 +7651,9 @@
var spans = line.markedSpans;
if (spans) for (var i = 0; i < spans.length; i++) {
var span = spans[i];
- if (!(span.to != null && lineNo == from.line && from.ch > span.to ||
+ if (!(span.to != null && lineNo == from.line && from.ch >= span.to ||
span.from == null && lineNo != from.line ||
- span.from != null && lineNo == to.line && span.from > to.ch) &&
+ span.from != null && lineNo == to.line && span.from >= to.ch) &&
(!filter || filter(span.marker)))
found.push(span.marker.parent || span.marker);
}
@@ -7646,9 +7672,9 @@
},
posFromIndex: function(off) {
- var ch, lineNo = this.first;
+ var ch, lineNo = this.first, sepSize = this.lineSeparator().length;
this.iter(function(line) {
- var sz = line.text.length + 1;
+ var sz = line.text.length + sepSize;
if (sz > off) { ch = off; return true; }
off -= sz;
++lineNo;
@@ -7659,8 +7685,9 @@
coords = clipPos(this, coords);
var index = coords.ch;
if (coords.line < this.first || coords.ch < 0) return 0;
+ var sepSize = this.lineSeparator().length;
this.iter(this.first, coords.line, function (line) {
- index += line.text.length + 1;
+ index += line.text.length + sepSize;
});
return index;
},
@@ -8889,7 +8916,7 @@
// THE END
- CodeMirror.version = "5.13.2";
+ CodeMirror.version = "5.16.0";
return CodeMirror;
});
diff --git a/www/code/codemirror-5.13.2/mode/apl/apl.js b/www/code/CodeMirror-5.16.0/mode/apl/apl.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/apl/apl.js
rename to www/code/CodeMirror-5.16.0/mode/apl/apl.js
diff --git a/www/code/codemirror-5.13.2/mode/apl/index.html b/www/code/CodeMirror-5.16.0/mode/apl/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/apl/index.html
rename to www/code/CodeMirror-5.16.0/mode/apl/index.html
diff --git a/www/code/codemirror-5.13.2/mode/asciiarmor/asciiarmor.js b/www/code/CodeMirror-5.16.0/mode/asciiarmor/asciiarmor.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/asciiarmor/asciiarmor.js
rename to www/code/CodeMirror-5.16.0/mode/asciiarmor/asciiarmor.js
diff --git a/www/code/codemirror-5.13.2/mode/asciiarmor/index.html b/www/code/CodeMirror-5.16.0/mode/asciiarmor/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/asciiarmor/index.html
rename to www/code/CodeMirror-5.16.0/mode/asciiarmor/index.html
diff --git a/www/code/codemirror-5.13.2/mode/asn.1/asn.1.js b/www/code/CodeMirror-5.16.0/mode/asn.1/asn.1.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/asn.1/asn.1.js
rename to www/code/CodeMirror-5.16.0/mode/asn.1/asn.1.js
diff --git a/www/code/codemirror-5.13.2/mode/asn.1/index.html b/www/code/CodeMirror-5.16.0/mode/asn.1/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/asn.1/index.html
rename to www/code/CodeMirror-5.16.0/mode/asn.1/index.html
diff --git a/www/code/codemirror-5.13.2/mode/asterisk/asterisk.js b/www/code/CodeMirror-5.16.0/mode/asterisk/asterisk.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/asterisk/asterisk.js
rename to www/code/CodeMirror-5.16.0/mode/asterisk/asterisk.js
diff --git a/www/code/codemirror-5.13.2/mode/asterisk/index.html b/www/code/CodeMirror-5.16.0/mode/asterisk/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/asterisk/index.html
rename to www/code/CodeMirror-5.16.0/mode/asterisk/index.html
diff --git a/www/code/codemirror-5.13.2/mode/brainfuck/brainfuck.js b/www/code/CodeMirror-5.16.0/mode/brainfuck/brainfuck.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/brainfuck/brainfuck.js
rename to www/code/CodeMirror-5.16.0/mode/brainfuck/brainfuck.js
diff --git a/www/code/codemirror-5.13.2/mode/brainfuck/index.html b/www/code/CodeMirror-5.16.0/mode/brainfuck/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/brainfuck/index.html
rename to www/code/CodeMirror-5.16.0/mode/brainfuck/index.html
diff --git a/www/code/codemirror-5.13.2/mode/clike/clike.js b/www/code/CodeMirror-5.16.0/mode/clike/clike.js
similarity index 93%
rename from www/code/codemirror-5.13.2/mode/clike/clike.js
rename to www/code/CodeMirror-5.16.0/mode/clike/clike.js
index 34d3a5afd..a37921fda 100644
--- a/www/code/codemirror-5.13.2/mode/clike/clike.js
+++ b/www/code/CodeMirror-5.16.0/mode/clike/clike.js
@@ -11,21 +11,19 @@
})(function(CodeMirror) {
"use strict";
-function Context(indented, column, type, align, prev) {
+function Context(indented, column, type, info, align, prev) {
this.indented = indented;
this.column = column;
this.type = type;
+ this.info = info;
this.align = align;
this.prev = prev;
}
-function isStatement(type) {
- return type == "statement" || type == "switchstatement" || type == "namespace";
-}
-function pushContext(state, col, type) {
+function pushContext(state, col, type, info) {
var indent = state.indented;
- if (state.context && isStatement(state.context.type) && !isStatement(type))
+ if (state.context && state.context.type != "statement" && type != "statement")
indent = state.context.indented;
- return state.context = new Context(indent, col, type, null, state.context);
+ return state.context = new Context(indent, col, type, info, null, state.context);
}
function popContext(state) {
var t = state.context.type;
@@ -34,15 +32,16 @@ function popContext(state) {
return state.context = state.context.prev;
}
-function typeBefore(stream, state) {
+function typeBefore(stream, state, pos) {
if (state.prevToken == "variable" || state.prevToken == "variable-3") return true;
- if (/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(stream.string.slice(0, stream.start))) return true;
+ if (/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(stream.string.slice(0, pos))) return true;
+ if (state.typeAtEndOfLine && stream.column() == stream.indentation()) return true;
}
function isTopScope(context) {
for (;;) {
if (!context || context.type == "top") return true;
- if (context.type == "}" && context.prev.type != "namespace") return false;
+ if (context.type == "}" && context.prev.info != "namespace") return false;
context = context.prev;
}
}
@@ -147,13 +146,18 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
return "comment";
}
+ function maybeEOL(stream, state) {
+ if (parserConfig.typeFirstDefinitions && stream.eol() && isTopScope(state.context))
+ state.typeAtEndOfLine = typeBefore(stream, state, stream.pos)
+ }
+
// Interface
return {
startState: function(basecolumn) {
return {
tokenize: null,
- context: new Context((basecolumn || 0) - indentUnit, 0, "top", false),
+ context: new Context((basecolumn || 0) - indentUnit, 0, "top", null, false),
indented: 0,
startOfLine: true,
prevToken: null
@@ -167,36 +171,31 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
state.indented = stream.indentation();
state.startOfLine = true;
}
- if (stream.eatSpace()) return null;
+ if (stream.eatSpace()) { maybeEOL(stream, state); return null; }
curPunc = isDefKeyword = null;
var style = (state.tokenize || tokenBase)(stream, state);
if (style == "comment" || style == "meta") return style;
if (ctx.align == null) ctx.align = true;
- if (endStatement.test(curPunc)) while (isStatement(state.context.type)) popContext(state);
+ if (endStatement.test(curPunc)) while (state.context.type == "statement") popContext(state);
else if (curPunc == "{") pushContext(state, stream.column(), "}");
else if (curPunc == "[") pushContext(state, stream.column(), "]");
else if (curPunc == "(") pushContext(state, stream.column(), ")");
else if (curPunc == "}") {
- while (isStatement(ctx.type)) ctx = popContext(state);
+ while (ctx.type == "statement") ctx = popContext(state);
if (ctx.type == "}") ctx = popContext(state);
- while (isStatement(ctx.type)) ctx = popContext(state);
+ while (ctx.type == "statement") ctx = popContext(state);
}
else if (curPunc == ctx.type) popContext(state);
else if (indentStatements &&
(((ctx.type == "}" || ctx.type == "top") && curPunc != ";") ||
- (isStatement(ctx.type) && curPunc == "newstatement"))) {
- var type = "statement";
- if (curPunc == "newstatement" && indentSwitch && stream.current() == "switch")
- type = "switchstatement";
- else if (style == "keyword" && stream.current() == "namespace")
- type = "namespace";
- pushContext(state, stream.column(), type);
+ (ctx.type == "statement" && curPunc == "newstatement"))) {
+ pushContext(state, stream.column(), "statement", stream.current());
}
if (style == "variable" &&
((state.prevToken == "def" ||
- (parserConfig.typeFirstDefinitions && typeBefore(stream, state) &&
+ (parserConfig.typeFirstDefinitions && typeBefore(stream, state, stream.start) &&
isTopScope(state.context) && stream.match(/^\s*\(/, false)))))
style = "def";
@@ -209,24 +208,28 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
state.startOfLine = false;
state.prevToken = isDefKeyword ? "def" : style || curPunc;
+ maybeEOL(stream, state);
return style;
},
indent: function(state, textAfter) {
- if (state.tokenize != tokenBase && state.tokenize != null) return CodeMirror.Pass;
+ if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine) return CodeMirror.Pass;
var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);
- if (isStatement(ctx.type) && firstChar == "}") ctx = ctx.prev;
+ if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev;
+ if (parserConfig.dontIndentStatements)
+ while (ctx.type == "statement" && parserConfig.dontIndentStatements.test(ctx.info))
+ ctx = ctx.prev
if (hooks.indent) {
var hook = hooks.indent(state, ctx, textAfter);
if (typeof hook == "number") return hook
}
var closing = firstChar == ctx.type;
- var switchBlock = ctx.prev && ctx.prev.type == "switchstatement";
+ var switchBlock = ctx.prev && ctx.prev.info == "switch";
if (parserConfig.allmanIndentation && /[{(]/.test(firstChar)) {
while (ctx.type != "top" && ctx.type != "}") ctx = ctx.prev
return ctx.indented
}
- if (isStatement(ctx.type))
+ if (ctx.type == "statement")
return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit);
if (ctx.align && (!dontAlignCalls || ctx.type != ")"))
return ctx.column + (closing ? 0 : 1);
@@ -386,6 +389,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
defKeywords: words("class namespace struct enum union"),
typeFirstDefinitions: true,
atoms: words("true false null"),
+ dontIndentStatements: /^template$/,
hooks: {
"#": cppHook,
"*": pointerHook,
@@ -429,6 +433,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
typeFirstDefinitions: true,
atoms: words("true false null"),
endStatement: /^[;:]$/,
+ number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,
hooks: {
"@": function(stream) {
stream.eatWhile(/[\w\$_]/);
@@ -531,7 +536,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
"=": function(stream, state) {
var cx = state.context
if (cx.type == "}" && cx.align && stream.eat(">")) {
- state.context = new Context(cx.indented, cx.column, cx.type, null, cx.prev)
+ state.context = new Context(cx.indented, cx.column, cx.type, cx.info, null, cx.prev)
return "operator"
} else {
return false
@@ -667,7 +672,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
def("text/x-objectivec", {
name: "clike",
- keywords: words(cKeywords + "inline restrict _Bool _Complex _Imaginery BOOL Class bycopy byref id IMP in " +
+ keywords: words(cKeywords + "inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in " +
"inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),
types: words(cTypes),
atoms: words("YES NO NULL NILL ON OFF true false"),
diff --git a/www/code/codemirror-5.13.2/mode/clike/index.html b/www/code/CodeMirror-5.16.0/mode/clike/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/clike/index.html
rename to www/code/CodeMirror-5.16.0/mode/clike/index.html
diff --git a/www/code/codemirror-5.13.2/mode/clike/scala.html b/www/code/CodeMirror-5.16.0/mode/clike/scala.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/clike/scala.html
rename to www/code/CodeMirror-5.16.0/mode/clike/scala.html
diff --git a/www/code/codemirror-5.13.2/mode/clike/test.js b/www/code/CodeMirror-5.16.0/mode/clike/test.js
similarity index 87%
rename from www/code/codemirror-5.13.2/mode/clike/test.js
rename to www/code/CodeMirror-5.16.0/mode/clike/test.js
index c26003266..bea85b869 100644
--- a/www/code/codemirror-5.13.2/mode/clike/test.js
+++ b/www/code/CodeMirror-5.16.0/mode/clike/test.js
@@ -25,6 +25,10 @@
"[keyword struct] [def bar]{}",
"[variable-3 int] [variable-3 *][def baz]() {}");
+ MT("def_new_line",
+ "::[variable std]::[variable SomeTerribleType][operator <][variable T][operator >]",
+ "[def SomeLongMethodNameThatDoesntFitIntoOneLine]([keyword const] [variable MyType][operator &] [variable param]) {}")
+
MT("double_block",
"[keyword for] (;;)",
" [keyword for] (;;)",
diff --git a/www/code/codemirror-5.13.2/mode/clojure/clojure.js b/www/code/CodeMirror-5.16.0/mode/clojure/clojure.js
similarity index 56%
rename from www/code/codemirror-5.13.2/mode/clojure/clojure.js
rename to www/code/CodeMirror-5.16.0/mode/clojure/clojure.js
index cd8129f75..ed6af2c83 100644
--- a/www/code/codemirror-5.13.2/mode/clojure/clojure.js
+++ b/www/code/CodeMirror-5.16.0/mode/clojure/clojure.js
@@ -31,14 +31,70 @@ CodeMirror.defineMode("clojure", function (options) {
var atoms = makeKeywords("true false nil");
var keywords = makeKeywords(
- "defn defn- def def- defonce defmulti defmethod defmacro defstruct deftype defprotocol defrecord defproject deftest slice defalias defhinted defmacro- defn-memo defnk defnk defonce- defunbound defunbound- defvar defvar- let letfn do case cond condp for loop recur when when-not when-let when-first if if-let if-not . .. -> ->> doto and or dosync doseq dotimes dorun doall load import unimport ns in-ns refer try catch finally throw with-open with-local-vars binding gen-class gen-and-load-class gen-and-save-class handler-case handle");
+ "defn defn- def def- defonce defmulti defmethod defmacro defstruct deftype defprotocol defrecord defproject deftest " +
+ "slice defalias defhinted defmacro- defn-memo defnk defnk defonce- defunbound defunbound- defvar defvar- let letfn " +
+ "do case cond condp for loop recur when when-not when-let when-first if if-let if-not . .. -> ->> doto and or dosync " +
+ "doseq dotimes dorun doall load import unimport ns in-ns refer try catch finally throw with-open with-local-vars " +
+ "binding gen-class gen-and-load-class gen-and-save-class handler-case handle");
var builtins = makeKeywords(
- "* *' *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *compiler-options* *data-readers* *e *err* *file* *flush-on-newline* *fn-loader* *in* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *source-path* *unchecked-math* *use-context-classloader* *verbose-defrecords* *warn-on-reflection* + +' - -' -> ->> ->ArrayChunk ->Vec ->VecNode ->VecSeq -cache-protocol-fn -reset-methods .. / < <= = == > >= EMPTY-NODE accessor aclone add-classpath add-watch agent agent-error agent-errors aget alength alias all-ns alter alter-meta! alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint biginteger binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* bound? butlast byte byte-array bytes case cast char char-array char-escape-string char-name-string char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement concat cond condp conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec dec' decimal? declare default-data-readers definline definterface defmacro defmethod defmulti defn defn- defonce defprotocol defrecord defstruct deftype delay delay? deliver denominator deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? doall dorun doseq dosync dotimes doto double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq error-handler error-mode eval even? every-pred every? ex-data ex-info extend extend-protocol extend-type extenders extends? false? ffirst file-seq filter filterv find find-keyword find-ns find-protocol-impl find-protocol-method find-var first flatten float float-array float? floats flush fn fn? fnext fnil for force format frequencies future future-call future-cancel future-cancelled? future-done? future? gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator group-by hash hash-combine hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc inc' init-proxy instance? int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt keep keep-indexed key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array make-hierarchy map map-indexed map? mapcat mapv max max-key memfn memoize merge merge-with meta method-sig methods min min-key mod munge name namespace namespace-munge neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext nthrest num number? numerator object-array odd? or parents partial partition partition-all partition-by pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers primitives-classnames print print-ctor print-dup print-method print-simple print-str printf println println-str prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot rand rand-int rand-nth range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string realized? reduce reduce-kv reductions ref ref-history-count ref-max-history ref-min-history ref-set refer refer-clojure reify release-pending-sends rem remove remove-all-methods remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest restart-agent resultset-seq reverse reversible? rseq rsubseq satisfies? second select-keys send send-off seq seq? seque sequence sequential? set set-error-handler! set-error-mode! set-validator! set? short short-array shorts shuffle shutdown-agents slurp some some-fn sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-symbol? spit split-at split-with str string? struct struct-map subs subseq subvec supers swap! symbol symbol? sync take take-last take-nth take-while test the-ns thread-bound? time to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-add-int unchecked-byte unchecked-char unchecked-dec unchecked-dec-int unchecked-divide-int unchecked-double unchecked-float unchecked-inc unchecked-inc-int unchecked-int unchecked-long unchecked-multiply unchecked-multiply-int unchecked-negate unchecked-negate-int unchecked-remainder-int unchecked-short unchecked-subtract unchecked-subtract-int underive unquote unquote-splicing update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector-of vector? when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context with-local-vars with-meta with-open with-out-str with-precision with-redefs with-redefs-fn xml-seq zero? zipmap *default-data-reader-fn* as-> cond-> cond->> reduced reduced? send-via set-agent-send-executor! set-agent-send-off-executor! some-> some->>");
+ "* *' *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* " +
+ "*compile-path* *compiler-options* *data-readers* *e *err* *file* *flush-on-newline* *fn-loader* *in* " +
+ "*math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* " +
+ "*source-path* *unchecked-math* *use-context-classloader* *verbose-defrecords* *warn-on-reflection* + +' - -' -> " +
+ "->> ->ArrayChunk ->Vec ->VecNode ->VecSeq -cache-protocol-fn -reset-methods .. / < <= = == > >= EMPTY-NODE accessor " +
+ "aclone add-classpath add-watch agent agent-error agent-errors aget alength alias all-ns alter alter-meta! " +
+ "alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double " +
+ "aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 " +
+ "bases bean bigdec bigint biginteger binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set " +
+ "bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* bound? butlast " +
+ "byte byte-array bytes case cat cast char char-array char-escape-string char-name-string char? chars chunk chunk-append " +
+ "chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors " +
+ "clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement completing concat cond condp " +
+ "conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec dec' decimal? " +
+ "declare dedupe default-data-readers definline definterface defmacro defmethod defmulti defn defn- defonce defprotocol " +
+ "defrecord defstruct deftype delay delay? deliver denominator deref derive descendants destructure disj disj! dissoc " +
+ "dissoc! distinct distinct? doall dorun doseq dosync dotimes doto double double-array doubles drop drop-last " +
+ "drop-while eduction empty empty? ensure enumeration-seq error-handler error-mode eval even? every-pred every? ex-data ex-info " +
+ "extend extend-protocol extend-type extenders extends? false? ffirst file-seq filter filterv find find-keyword " +
+ "find-ns find-protocol-impl find-protocol-method find-var first flatten float float-array float? floats flush fn fn? " +
+ "fnext fnil for force format frequencies future future-call future-cancel future-cancelled? future-done? future? " +
+ "gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator group-by hash " +
+ "hash-combine hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc inc' init-proxy instance? " +
+ "int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt keep " +
+ "keep-indexed key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file " +
+ "load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array " +
+ "make-hierarchy map map-indexed map? mapcat mapv max max-key memfn memoize merge merge-with meta method-sig methods " +
+ "min min-key mod munge name namespace namespace-munge neg? newline next nfirst nil? nnext not not-any? not-empty " +
+ "not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias " +
+ "ns-unmap nth nthnext nthrest num number? numerator object-array odd? or parents partial partition partition-all " +
+ "partition-by pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers " +
+ "primitives-classnames print print-ctor print-dup print-method print-simple print-str printf println println-str " +
+ "prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues " +
+ "quot rand rand-int rand-nth random-sample range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern " +
+ "re-seq read read-line read-string realized? reduce reduce-kv reductions ref ref-history-count ref-max-history " +
+ "ref-min-history ref-set refer refer-clojure reify release-pending-sends rem remove remove-all-methods " +
+ "remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest " +
+ "restart-agent resultset-seq reverse reversible? rseq rsubseq satisfies? second select-keys send send-off seq seq? " +
+ "seque sequence sequential? set set-error-handler! set-error-mode! set-validator! set? short short-array shorts " +
+ "shuffle shutdown-agents slurp some some-fn sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? " +
+ "special-symbol? spit split-at split-with str string? struct struct-map subs subseq subvec supers swap! symbol " +
+ "symbol? sync take take-last take-nth take-while test the-ns thread-bound? time to-array to-array-2d trampoline transduce " +
+ "transient tree-seq true? type unchecked-add unchecked-add-int unchecked-byte unchecked-char unchecked-dec " +
+ "unchecked-dec-int unchecked-divide-int unchecked-double unchecked-float unchecked-inc unchecked-inc-int " +
+ "unchecked-int unchecked-long unchecked-multiply unchecked-multiply-int unchecked-negate unchecked-negate-int "+
+ "unchecked-remainder-int unchecked-short unchecked-subtract unchecked-subtract-int underive unquote " +
+ "unquote-splicing update update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector-of " +
+ "vector? volatile! volatile? vreset! vswap! when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context " +
+ "with-local-vars with-meta with-open with-out-str with-precision with-redefs with-redefs-fn xml-seq zero? zipmap " +
+ "*default-data-reader-fn* as-> cond-> cond->> reduced reduced? send-via set-agent-send-executor! " +
+ "set-agent-send-off-executor! some-> some->>");
var indentKeys = makeKeywords(
// Built-ins
- "ns fn def defn defmethod bound-fn if if-not case condp when while when-not when-first do future comment doto locking proxy with-open with-precision reify deftype defrecord defprotocol extend extend-protocol extend-type try catch " +
+ "ns fn def defn defmethod bound-fn if if-not case condp when while when-not when-first do future comment doto " +
+ "locking proxy with-open with-precision reify deftype defrecord defprotocol extend extend-protocol extend-type " +
+ "try catch " +
// Binding forms
"let letfn binding loop for doseq dotimes when-let if-let " +
diff --git a/www/code/codemirror-5.13.2/mode/clojure/index.html b/www/code/CodeMirror-5.16.0/mode/clojure/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/clojure/index.html
rename to www/code/CodeMirror-5.16.0/mode/clojure/index.html
diff --git a/www/code/codemirror-5.13.2/mode/cmake/cmake.js b/www/code/CodeMirror-5.16.0/mode/cmake/cmake.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/cmake/cmake.js
rename to www/code/CodeMirror-5.16.0/mode/cmake/cmake.js
diff --git a/www/code/codemirror-5.13.2/mode/cmake/index.html b/www/code/CodeMirror-5.16.0/mode/cmake/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/cmake/index.html
rename to www/code/CodeMirror-5.16.0/mode/cmake/index.html
diff --git a/www/code/codemirror-5.13.2/mode/cobol/cobol.js b/www/code/CodeMirror-5.16.0/mode/cobol/cobol.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/cobol/cobol.js
rename to www/code/CodeMirror-5.16.0/mode/cobol/cobol.js
diff --git a/www/code/codemirror-5.13.2/mode/cobol/index.html b/www/code/CodeMirror-5.16.0/mode/cobol/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/cobol/index.html
rename to www/code/CodeMirror-5.16.0/mode/cobol/index.html
diff --git a/www/code/codemirror-5.13.2/mode/coffeescript/coffeescript.js b/www/code/CodeMirror-5.16.0/mode/coffeescript/coffeescript.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/coffeescript/coffeescript.js
rename to www/code/CodeMirror-5.16.0/mode/coffeescript/coffeescript.js
diff --git a/www/code/codemirror-5.13.2/mode/coffeescript/index.html b/www/code/CodeMirror-5.16.0/mode/coffeescript/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/coffeescript/index.html
rename to www/code/CodeMirror-5.16.0/mode/coffeescript/index.html
diff --git a/www/code/codemirror-5.13.2/mode/commonlisp/commonlisp.js b/www/code/CodeMirror-5.16.0/mode/commonlisp/commonlisp.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/commonlisp/commonlisp.js
rename to www/code/CodeMirror-5.16.0/mode/commonlisp/commonlisp.js
diff --git a/www/code/codemirror-5.13.2/mode/commonlisp/index.html b/www/code/CodeMirror-5.16.0/mode/commonlisp/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/commonlisp/index.html
rename to www/code/CodeMirror-5.16.0/mode/commonlisp/index.html
diff --git a/www/code/codemirror-5.13.2/mode/crystal/crystal.js b/www/code/CodeMirror-5.16.0/mode/crystal/crystal.js
similarity index 99%
rename from www/code/codemirror-5.13.2/mode/crystal/crystal.js
rename to www/code/CodeMirror-5.16.0/mode/crystal/crystal.js
index 2e74bee43..e63627cee 100644
--- a/www/code/codemirror-5.13.2/mode/crystal/crystal.js
+++ b/www/code/CodeMirror-5.16.0/mode/crystal/crystal.js
@@ -209,7 +209,7 @@
// Operators
if (stream.match(operators)) {
- stream.eat("="); // Operators can follow assigin symbol.
+ stream.eat("="); // Operators can follow assign symbol.
return "operator";
}
diff --git a/www/code/codemirror-5.13.2/mode/crystal/index.html b/www/code/CodeMirror-5.16.0/mode/crystal/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/crystal/index.html
rename to www/code/CodeMirror-5.16.0/mode/crystal/index.html
diff --git a/www/code/codemirror-5.13.2/mode/css/css.js b/www/code/CodeMirror-5.16.0/mode/css/css.js
similarity index 98%
rename from www/code/codemirror-5.13.2/mode/css/css.js
rename to www/code/CodeMirror-5.16.0/mode/css/css.js
index e9656e3dc..ea7bd01d8 100644
--- a/www/code/codemirror-5.13.2/mode/css/css.js
+++ b/www/code/CodeMirror-5.16.0/mode/css/css.js
@@ -484,9 +484,9 @@ CodeMirror.defineMode("css", function(config, parserConfig) {
"font-variant-alternates", "font-variant-caps", "font-variant-east-asian",
"font-variant-ligatures", "font-variant-numeric", "font-variant-position",
"font-weight", "grid", "grid-area", "grid-auto-columns", "grid-auto-flow",
- "grid-auto-position", "grid-auto-rows", "grid-column", "grid-column-end",
- "grid-column-start", "grid-row", "grid-row-end", "grid-row-start",
- "grid-template", "grid-template-areas", "grid-template-columns",
+ "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-gap",
+ "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-gap",
+ "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns",
"grid-template-rows", "hanging-punctuation", "height", "hyphens",
"icon", "image-orientation", "image-rendering", "image-resolution",
"inline-box-align", "justify-content", "left", "letter-spacing",
@@ -601,7 +601,7 @@ CodeMirror.defineMode("css", function(config, parserConfig) {
"compact", "condensed", "contain", "content",
"content-box", "context-menu", "continuous", "copy", "counter", "counters", "cover", "crop",
"cross", "crosshair", "currentcolor", "cursive", "cyclic", "darken", "dashed", "decimal",
- "decimal-leading-zero", "default", "default-button", "destination-atop",
+ "decimal-leading-zero", "default", "default-button", "dense", "destination-atop",
"destination-in", "destination-out", "destination-over", "devanagari", "difference",
"disc", "discard", "disclosure-closed", "disclosure-open", "document",
"dot-dash", "dot-dot-dash",
@@ -615,13 +615,13 @@ CodeMirror.defineMode("css", function(config, parserConfig) {
"ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig",
"ethiopic-numeric", "ew-resize", "exclusion", "expanded", "extends", "extra-condensed",
"extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "flex", "flex-end", "flex-start", "footnotes",
- "forwards", "from", "geometricPrecision", "georgian", "graytext", "groove",
+ "forwards", "from", "geometricPrecision", "georgian", "graytext", "grid", "groove",
"gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hard-light", "hebrew",
"help", "hidden", "hide", "higher", "highlight", "highlighttext",
"hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "hue", "icon", "ignore",
"inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite",
"infobackground", "infotext", "inherit", "initial", "inline", "inline-axis",
- "inline-block", "inline-flex", "inline-table", "inset", "inside", "intrinsic", "invert",
+ "inline-block", "inline-flex", "inline-grid", "inline-table", "inset", "inside", "intrinsic", "invert",
"italic", "japanese-formal", "japanese-informal", "justify", "kannada",
"katakana", "katakana-iroha", "keep-all", "khmer",
"korean-hangul-formal", "korean-hanja-formal", "korean-hanja-informal",
diff --git a/www/code/codemirror-5.13.2/mode/css/gss.html b/www/code/CodeMirror-5.16.0/mode/css/gss.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/css/gss.html
rename to www/code/CodeMirror-5.16.0/mode/css/gss.html
diff --git a/www/code/codemirror-5.13.2/mode/css/gss_test.js b/www/code/CodeMirror-5.16.0/mode/css/gss_test.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/css/gss_test.js
rename to www/code/CodeMirror-5.16.0/mode/css/gss_test.js
diff --git a/www/code/codemirror-5.13.2/mode/css/index.html b/www/code/CodeMirror-5.16.0/mode/css/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/css/index.html
rename to www/code/CodeMirror-5.16.0/mode/css/index.html
diff --git a/www/code/codemirror-5.13.2/mode/css/less.html b/www/code/CodeMirror-5.16.0/mode/css/less.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/css/less.html
rename to www/code/CodeMirror-5.16.0/mode/css/less.html
diff --git a/www/code/codemirror-5.13.2/mode/css/less_test.js b/www/code/CodeMirror-5.16.0/mode/css/less_test.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/css/less_test.js
rename to www/code/CodeMirror-5.16.0/mode/css/less_test.js
diff --git a/www/code/codemirror-5.13.2/mode/css/scss.html b/www/code/CodeMirror-5.16.0/mode/css/scss.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/css/scss.html
rename to www/code/CodeMirror-5.16.0/mode/css/scss.html
diff --git a/www/code/codemirror-5.13.2/mode/css/scss_test.js b/www/code/CodeMirror-5.16.0/mode/css/scss_test.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/css/scss_test.js
rename to www/code/CodeMirror-5.16.0/mode/css/scss_test.js
diff --git a/www/code/codemirror-5.13.2/mode/css/test.js b/www/code/CodeMirror-5.16.0/mode/css/test.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/css/test.js
rename to www/code/CodeMirror-5.16.0/mode/css/test.js
diff --git a/www/code/codemirror-5.13.2/mode/cypher/cypher.js b/www/code/CodeMirror-5.16.0/mode/cypher/cypher.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/cypher/cypher.js
rename to www/code/CodeMirror-5.16.0/mode/cypher/cypher.js
diff --git a/www/code/codemirror-5.13.2/mode/cypher/index.html b/www/code/CodeMirror-5.16.0/mode/cypher/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/cypher/index.html
rename to www/code/CodeMirror-5.16.0/mode/cypher/index.html
diff --git a/www/code/codemirror-5.13.2/mode/d/d.js b/www/code/CodeMirror-5.16.0/mode/d/d.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/d/d.js
rename to www/code/CodeMirror-5.16.0/mode/d/d.js
diff --git a/www/code/codemirror-5.13.2/mode/d/index.html b/www/code/CodeMirror-5.16.0/mode/d/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/d/index.html
rename to www/code/CodeMirror-5.16.0/mode/d/index.html
diff --git a/www/code/codemirror-5.13.2/mode/dart/dart.js b/www/code/CodeMirror-5.16.0/mode/dart/dart.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/dart/dart.js
rename to www/code/CodeMirror-5.16.0/mode/dart/dart.js
diff --git a/www/code/codemirror-5.13.2/mode/dart/index.html b/www/code/CodeMirror-5.16.0/mode/dart/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/dart/index.html
rename to www/code/CodeMirror-5.16.0/mode/dart/index.html
diff --git a/www/code/codemirror-5.13.2/mode/diff/diff.js b/www/code/CodeMirror-5.16.0/mode/diff/diff.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/diff/diff.js
rename to www/code/CodeMirror-5.16.0/mode/diff/diff.js
diff --git a/www/code/codemirror-5.13.2/mode/diff/index.html b/www/code/CodeMirror-5.16.0/mode/diff/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/diff/index.html
rename to www/code/CodeMirror-5.16.0/mode/diff/index.html
diff --git a/www/code/codemirror-5.13.2/mode/django/django.js b/www/code/CodeMirror-5.16.0/mode/django/django.js
similarity index 95%
rename from www/code/codemirror-5.13.2/mode/django/django.js
rename to www/code/CodeMirror-5.16.0/mode/django/django.js
index a8a7d8311..7b4ef3b56 100644
--- a/www/code/codemirror-5.13.2/mode/django/django.js
+++ b/www/code/CodeMirror-5.16.0/mode/django/django.js
@@ -66,11 +66,11 @@
}
// A string can be included in either single or double quotes (this is
- // the delimeter). Mark everything as a string until the start delimeter
+ // the delimiter). Mark everything as a string until the start delimiter
// occurs again.
- function inString (delimeter, previousTokenizer) {
+ function inString (delimiter, previousTokenizer) {
return function (stream, state) {
- if (!state.escapeNext && stream.eat(delimeter)) {
+ if (!state.escapeNext && stream.eat(delimiter)) {
state.tokenize = previousTokenizer;
} else {
if (state.escapeNext) {
@@ -80,7 +80,7 @@
var ch = stream.next();
// Take into account the backslash for escaping characters, such as
- // the string delimeter.
+ // the string delimiter.
if (ch == "\\") {
state.escapeNext = true;
}
@@ -100,7 +100,7 @@
return "null";
}
- // Dot folowed by a non-word character should be considered an error.
+ // Dot followed by a non-word character should be considered an error.
if (stream.match(/\.\W+/)) {
return "error";
} else if (stream.eat(".")) {
@@ -119,7 +119,7 @@
return "null";
}
- // Pipe folowed by a non-word character should be considered an error.
+ // Pipe followed by a non-word character should be considered an error.
if (stream.match(/\.\W+/)) {
return "error";
} else if (stream.eat("|")) {
@@ -199,7 +199,7 @@
return "null";
}
- // Dot folowed by a non-word character should be considered an error.
+ // Dot followed by a non-word character should be considered an error.
if (stream.match(/\.\W+/)) {
return "error";
} else if (stream.eat(".")) {
@@ -218,7 +218,7 @@
return "null";
}
- // Pipe folowed by a non-word character should be considered an error.
+ // Pipe followed by a non-word character should be considered an error.
if (stream.match(/\.\W+/)) {
return "error";
} else if (stream.eat("|")) {
diff --git a/www/code/codemirror-5.13.2/mode/django/index.html b/www/code/CodeMirror-5.16.0/mode/django/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/django/index.html
rename to www/code/CodeMirror-5.16.0/mode/django/index.html
diff --git a/www/code/codemirror-5.13.2/mode/dockerfile/dockerfile.js b/www/code/CodeMirror-5.16.0/mode/dockerfile/dockerfile.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/dockerfile/dockerfile.js
rename to www/code/CodeMirror-5.16.0/mode/dockerfile/dockerfile.js
diff --git a/www/code/codemirror-5.13.2/mode/dockerfile/index.html b/www/code/CodeMirror-5.16.0/mode/dockerfile/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/dockerfile/index.html
rename to www/code/CodeMirror-5.16.0/mode/dockerfile/index.html
diff --git a/www/code/codemirror-5.13.2/mode/dtd/dtd.js b/www/code/CodeMirror-5.16.0/mode/dtd/dtd.js
similarity index 94%
rename from www/code/codemirror-5.13.2/mode/dtd/dtd.js
rename to www/code/CodeMirror-5.16.0/mode/dtd/dtd.js
index f37029a77..52d76ee11 100644
--- a/www/code/codemirror-5.13.2/mode/dtd/dtd.js
+++ b/www/code/CodeMirror-5.16.0/mode/dtd/dtd.js
@@ -114,17 +114,17 @@ CodeMirror.defineMode("dtd", function(config) {
if( textAfter.match(/\]\s+|\]/) )n=n-1;
else if(textAfter.substr(textAfter.length-1, textAfter.length) === ">"){
- if(textAfter.substr(0,1) === "<")n;
- else if( type == "doindent" && textAfter.length > 1 )n;
+ if(textAfter.substr(0,1) === "<") {}
+ else if( type == "doindent" && textAfter.length > 1 ) {}
else if( type == "doindent")n--;
- else if( type == ">" && textAfter.length > 1)n;
- else if( type == "tag" && textAfter !== ">")n;
+ else if( type == ">" && textAfter.length > 1) {}
+ else if( type == "tag" && textAfter !== ">") {}
else if( type == "tag" && state.stack[state.stack.length-1] == "rule")n--;
else if( type == "tag")n++;
else if( textAfter === ">" && state.stack[state.stack.length-1] == "rule" && type === ">")n--;
- else if( textAfter === ">" && state.stack[state.stack.length-1] == "rule")n;
+ else if( textAfter === ">" && state.stack[state.stack.length-1] == "rule") {}
else if( textAfter.substr(0,1) !== "<" && textAfter.substr(0,1) === ">" )n=n-1;
- else if( textAfter === ">")n;
+ else if( textAfter === ">") {}
else n=n-1;
//over rule them all
if(type == null || type == "]")n--;
diff --git a/www/code/codemirror-5.13.2/mode/dtd/index.html b/www/code/CodeMirror-5.16.0/mode/dtd/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/dtd/index.html
rename to www/code/CodeMirror-5.16.0/mode/dtd/index.html
diff --git a/www/code/codemirror-5.13.2/mode/dylan/dylan.js b/www/code/CodeMirror-5.16.0/mode/dylan/dylan.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/dylan/dylan.js
rename to www/code/CodeMirror-5.16.0/mode/dylan/dylan.js
diff --git a/www/code/codemirror-5.13.2/mode/dylan/index.html b/www/code/CodeMirror-5.16.0/mode/dylan/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/dylan/index.html
rename to www/code/CodeMirror-5.16.0/mode/dylan/index.html
diff --git a/www/code/codemirror-5.13.2/mode/dylan/test.js b/www/code/CodeMirror-5.16.0/mode/dylan/test.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/dylan/test.js
rename to www/code/CodeMirror-5.16.0/mode/dylan/test.js
diff --git a/www/code/codemirror-5.13.2/mode/ebnf/ebnf.js b/www/code/CodeMirror-5.16.0/mode/ebnf/ebnf.js
similarity index 98%
rename from www/code/codemirror-5.13.2/mode/ebnf/ebnf.js
rename to www/code/CodeMirror-5.16.0/mode/ebnf/ebnf.js
index 6b51aba07..9618f8e42 100644
--- a/www/code/codemirror-5.13.2/mode/ebnf/ebnf.js
+++ b/www/code/CodeMirror-5.16.0/mode/ebnf/ebnf.js
@@ -94,7 +94,7 @@
if (bracesMode !== null && (state.braced || peek === "{")) {
if (state.localState === null)
- state.localState = bracesMode.startState();
+ state.localState = CodeMirror.startState(bracesMode);
var token = bracesMode.token(stream, state.localState),
text = stream.current();
diff --git a/www/code/codemirror-5.13.2/mode/ebnf/index.html b/www/code/CodeMirror-5.16.0/mode/ebnf/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/ebnf/index.html
rename to www/code/CodeMirror-5.16.0/mode/ebnf/index.html
diff --git a/www/code/codemirror-5.13.2/mode/ecl/ecl.js b/www/code/CodeMirror-5.16.0/mode/ecl/ecl.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/ecl/ecl.js
rename to www/code/CodeMirror-5.16.0/mode/ecl/ecl.js
diff --git a/www/code/codemirror-5.13.2/mode/ecl/index.html b/www/code/CodeMirror-5.16.0/mode/ecl/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/ecl/index.html
rename to www/code/CodeMirror-5.16.0/mode/ecl/index.html
diff --git a/www/code/codemirror-5.13.2/mode/eiffel/eiffel.js b/www/code/CodeMirror-5.16.0/mode/eiffel/eiffel.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/eiffel/eiffel.js
rename to www/code/CodeMirror-5.16.0/mode/eiffel/eiffel.js
diff --git a/www/code/codemirror-5.13.2/mode/eiffel/index.html b/www/code/CodeMirror-5.16.0/mode/eiffel/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/eiffel/index.html
rename to www/code/CodeMirror-5.16.0/mode/eiffel/index.html
diff --git a/www/code/codemirror-5.13.2/mode/elm/elm.js b/www/code/CodeMirror-5.16.0/mode/elm/elm.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/elm/elm.js
rename to www/code/CodeMirror-5.16.0/mode/elm/elm.js
diff --git a/www/code/codemirror-5.13.2/mode/elm/index.html b/www/code/CodeMirror-5.16.0/mode/elm/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/elm/index.html
rename to www/code/CodeMirror-5.16.0/mode/elm/index.html
diff --git a/www/code/codemirror-5.13.2/mode/erlang/erlang.js b/www/code/CodeMirror-5.16.0/mode/erlang/erlang.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/erlang/erlang.js
rename to www/code/CodeMirror-5.16.0/mode/erlang/erlang.js
diff --git a/www/code/codemirror-5.13.2/mode/erlang/index.html b/www/code/CodeMirror-5.16.0/mode/erlang/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/erlang/index.html
rename to www/code/CodeMirror-5.16.0/mode/erlang/index.html
diff --git a/www/code/codemirror-5.13.2/mode/factor/factor.js b/www/code/CodeMirror-5.16.0/mode/factor/factor.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/factor/factor.js
rename to www/code/CodeMirror-5.16.0/mode/factor/factor.js
diff --git a/www/code/codemirror-5.13.2/mode/factor/index.html b/www/code/CodeMirror-5.16.0/mode/factor/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/factor/index.html
rename to www/code/CodeMirror-5.16.0/mode/factor/index.html
diff --git a/www/code/codemirror-5.13.2/mode/fcl/fcl.js b/www/code/CodeMirror-5.16.0/mode/fcl/fcl.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/fcl/fcl.js
rename to www/code/CodeMirror-5.16.0/mode/fcl/fcl.js
diff --git a/www/code/codemirror-5.13.2/mode/fcl/index.html b/www/code/CodeMirror-5.16.0/mode/fcl/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/fcl/index.html
rename to www/code/CodeMirror-5.16.0/mode/fcl/index.html
diff --git a/www/code/codemirror-5.13.2/mode/forth/forth.js b/www/code/CodeMirror-5.16.0/mode/forth/forth.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/forth/forth.js
rename to www/code/CodeMirror-5.16.0/mode/forth/forth.js
diff --git a/www/code/codemirror-5.13.2/mode/forth/index.html b/www/code/CodeMirror-5.16.0/mode/forth/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/forth/index.html
rename to www/code/CodeMirror-5.16.0/mode/forth/index.html
diff --git a/www/code/codemirror-5.13.2/mode/fortran/fortran.js b/www/code/CodeMirror-5.16.0/mode/fortran/fortran.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/fortran/fortran.js
rename to www/code/CodeMirror-5.16.0/mode/fortran/fortran.js
diff --git a/www/code/codemirror-5.13.2/mode/fortran/index.html b/www/code/CodeMirror-5.16.0/mode/fortran/index.html
similarity index 97%
rename from www/code/codemirror-5.13.2/mode/fortran/index.html
rename to www/code/CodeMirror-5.16.0/mode/fortran/index.html
index 102e8f826..9aed0efcc 100644
--- a/www/code/codemirror-5.13.2/mode/fortran/index.html
+++ b/www/code/CodeMirror-5.16.0/mode/fortran/index.html
@@ -77,5 +77,5 @@
});
-
MIME types defined:text/x-Fortran.
+
MIME types defined:text/x-fortran.
diff --git a/www/code/codemirror-5.13.2/mode/gas/gas.js b/www/code/CodeMirror-5.16.0/mode/gas/gas.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/gas/gas.js
rename to www/code/CodeMirror-5.16.0/mode/gas/gas.js
diff --git a/www/code/codemirror-5.13.2/mode/gas/index.html b/www/code/CodeMirror-5.16.0/mode/gas/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/gas/index.html
rename to www/code/CodeMirror-5.16.0/mode/gas/index.html
diff --git a/www/code/codemirror-5.13.2/mode/gfm/gfm.js b/www/code/CodeMirror-5.16.0/mode/gfm/gfm.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/gfm/gfm.js
rename to www/code/CodeMirror-5.16.0/mode/gfm/gfm.js
diff --git a/www/code/codemirror-5.13.2/mode/gfm/index.html b/www/code/CodeMirror-5.16.0/mode/gfm/index.html
similarity index 98%
rename from www/code/codemirror-5.13.2/mode/gfm/index.html
rename to www/code/CodeMirror-5.16.0/mode/gfm/index.html
index 7e38c52d6..24c90c068 100644
--- a/www/code/codemirror-5.13.2/mode/gfm/index.html
+++ b/www/code/CodeMirror-5.16.0/mode/gfm/index.html
@@ -47,7 +47,7 @@ Underscores_are_allowed_between_words.
GFM adds syntax to strikethrough text, which is missing from standard Markdown.
~~Mistaken text.~~
-~~**works with other fomatting**~~
+~~**works with other formatting**~~
~~spans across
lines~~
diff --git a/www/code/codemirror-5.13.2/mode/gfm/test.js b/www/code/CodeMirror-5.16.0/mode/gfm/test.js
similarity index 97%
rename from www/code/codemirror-5.13.2/mode/gfm/test.js
rename to www/code/CodeMirror-5.16.0/mode/gfm/test.js
index 0dcd3619a..7a1a4ccf2 100644
--- a/www/code/codemirror-5.13.2/mode/gfm/test.js
+++ b/www/code/CodeMirror-5.16.0/mode/gfm/test.js
@@ -51,6 +51,12 @@
"[comment ```]",
"bar");
+ MT("fencedCodeBlockModeSwitchingObjc",
+ "[comment ```objective-c]",
+ "[keyword @property] [variable NSString] [operator *] [variable foo];",
+ "[comment ```]",
+ "bar");
+
MT("fencedCodeBlocksNoTildes",
"~~~",
"foo",
diff --git a/www/code/codemirror-5.13.2/mode/gherkin/gherkin.js b/www/code/CodeMirror-5.16.0/mode/gherkin/gherkin.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/gherkin/gherkin.js
rename to www/code/CodeMirror-5.16.0/mode/gherkin/gherkin.js
diff --git a/www/code/codemirror-5.13.2/mode/gherkin/index.html b/www/code/CodeMirror-5.16.0/mode/gherkin/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/gherkin/index.html
rename to www/code/CodeMirror-5.16.0/mode/gherkin/index.html
diff --git a/www/code/codemirror-5.13.2/mode/go/go.js b/www/code/CodeMirror-5.16.0/mode/go/go.js
similarity index 98%
rename from www/code/codemirror-5.13.2/mode/go/go.js
rename to www/code/CodeMirror-5.16.0/mode/go/go.js
index 21fe9a2d6..3c9ef6b98 100644
--- a/www/code/codemirror-5.13.2/mode/go/go.js
+++ b/www/code/CodeMirror-5.16.0/mode/go/go.js
@@ -23,7 +23,7 @@ CodeMirror.defineMode("go", function(config) {
"bool":true, "byte":true, "complex64":true, "complex128":true,
"float32":true, "float64":true, "int8":true, "int16":true, "int32":true,
"int64":true, "string":true, "uint8":true, "uint16":true, "uint32":true,
- "uint64":true, "int":true, "uint":true, "uintptr":true
+ "uint64":true, "int":true, "uint":true, "uintptr":true, "error": true
};
var atoms = {
diff --git a/www/code/codemirror-5.13.2/mode/go/index.html b/www/code/CodeMirror-5.16.0/mode/go/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/go/index.html
rename to www/code/CodeMirror-5.16.0/mode/go/index.html
diff --git a/www/code/codemirror-5.13.2/mode/groovy/groovy.js b/www/code/CodeMirror-5.16.0/mode/groovy/groovy.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/groovy/groovy.js
rename to www/code/CodeMirror-5.16.0/mode/groovy/groovy.js
diff --git a/www/code/codemirror-5.13.2/mode/groovy/index.html b/www/code/CodeMirror-5.16.0/mode/groovy/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/groovy/index.html
rename to www/code/CodeMirror-5.16.0/mode/groovy/index.html
diff --git a/www/code/codemirror-5.13.2/mode/haml/haml.js b/www/code/CodeMirror-5.16.0/mode/haml/haml.js
similarity index 96%
rename from www/code/codemirror-5.13.2/mode/haml/haml.js
rename to www/code/CodeMirror-5.16.0/mode/haml/haml.js
index 03ce83355..20ae1e19c 100644
--- a/www/code/codemirror-5.13.2/mode/haml/haml.js
+++ b/www/code/CodeMirror-5.16.0/mode/haml/haml.js
@@ -11,7 +11,7 @@
})(function(CodeMirror) {
"use strict";
- // full haml mode. This handled embeded ruby and html fragments too
+ // full haml mode. This handled embedded ruby and html fragments too
CodeMirror.defineMode("haml", function(config) {
var htmlMode = CodeMirror.getMode(config, {name: "htmlmixed"});
var rubyMode = CodeMirror.getMode(config, "ruby");
@@ -98,8 +98,8 @@
return {
// default to html mode
startState: function() {
- var htmlState = htmlMode.startState();
- var rubyState = rubyMode.startState();
+ var htmlState = CodeMirror.startState(htmlMode);
+ var rubyState = CodeMirror.startState(rubyMode);
return {
htmlState: htmlState,
rubyState: rubyState,
diff --git a/www/code/codemirror-5.13.2/mode/haml/index.html b/www/code/CodeMirror-5.16.0/mode/haml/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/haml/index.html
rename to www/code/CodeMirror-5.16.0/mode/haml/index.html
diff --git a/www/code/codemirror-5.13.2/mode/haml/test.js b/www/code/CodeMirror-5.16.0/mode/haml/test.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/haml/test.js
rename to www/code/CodeMirror-5.16.0/mode/haml/test.js
diff --git a/www/code/codemirror-5.13.2/mode/handlebars/handlebars.js b/www/code/CodeMirror-5.16.0/mode/handlebars/handlebars.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/handlebars/handlebars.js
rename to www/code/CodeMirror-5.16.0/mode/handlebars/handlebars.js
diff --git a/www/code/codemirror-5.13.2/mode/handlebars/index.html b/www/code/CodeMirror-5.16.0/mode/handlebars/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/handlebars/index.html
rename to www/code/CodeMirror-5.16.0/mode/handlebars/index.html
diff --git a/www/code/codemirror-5.13.2/mode/haskell-literate/haskell-literate.js b/www/code/CodeMirror-5.16.0/mode/haskell-literate/haskell-literate.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/haskell-literate/haskell-literate.js
rename to www/code/CodeMirror-5.16.0/mode/haskell-literate/haskell-literate.js
diff --git a/www/code/codemirror-5.13.2/mode/haskell-literate/index.html b/www/code/CodeMirror-5.16.0/mode/haskell-literate/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/haskell-literate/index.html
rename to www/code/CodeMirror-5.16.0/mode/haskell-literate/index.html
diff --git a/www/code/codemirror-5.13.2/mode/haskell/haskell.js b/www/code/CodeMirror-5.16.0/mode/haskell/haskell.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/haskell/haskell.js
rename to www/code/CodeMirror-5.16.0/mode/haskell/haskell.js
diff --git a/www/code/codemirror-5.13.2/mode/haskell/index.html b/www/code/CodeMirror-5.16.0/mode/haskell/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/haskell/index.html
rename to www/code/CodeMirror-5.16.0/mode/haskell/index.html
diff --git a/www/code/codemirror-5.13.2/mode/haxe/haxe.js b/www/code/CodeMirror-5.16.0/mode/haxe/haxe.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/haxe/haxe.js
rename to www/code/CodeMirror-5.16.0/mode/haxe/haxe.js
diff --git a/www/code/codemirror-5.13.2/mode/haxe/index.html b/www/code/CodeMirror-5.16.0/mode/haxe/index.html
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/haxe/index.html
rename to www/code/CodeMirror-5.16.0/mode/haxe/index.html
diff --git a/www/code/codemirror-5.13.2/mode/htmlembedded/htmlembedded.js b/www/code/CodeMirror-5.16.0/mode/htmlembedded/htmlembedded.js
similarity index 100%
rename from www/code/codemirror-5.13.2/mode/htmlembedded/htmlembedded.js
rename to www/code/CodeMirror-5.16.0/mode/htmlembedded/htmlembedded.js
diff --git a/www/code/codemirror-5.13.2/mode/htmlembedded/index.html b/www/code/CodeMirror-5.16.0/mode/htmlembedded/index.html
similarity index 87%
rename from www/code/codemirror-5.13.2/mode/htmlembedded/index.html
rename to www/code/CodeMirror-5.16.0/mode/htmlembedded/index.html
index 365ef8f36..9ed33cffe 100644
--- a/www/code/codemirror-5.13.2/mode/htmlembedded/index.html
+++ b/www/code/CodeMirror-5.16.0/mode/htmlembedded/index.html
@@ -51,9 +51,10 @@ This is an example of EJS (embedded javascript)
});
-
Mode for html embedded scripts like JSP and ASP.NET. Depends on HtmlMixed which in turn depends on
- JavaScript, CSS and XML. Other dependancies include those of the scriping language chosen.
+
Mode for html embedded scripts like JSP and ASP.NET. Depends on multiplex and HtmlMixed which in turn depends on
+ JavaScript, CSS and XML. Other dependencies include those of the scripting language chosen.