|
|
@@ -1,67 +1 @@
|
|
|
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
|
|
-// Distributed under an MIT license: http://codemirror.net/LICENSE
|
|
|
-
|
|
|
-(function(mod) {
|
|
|
- mod(CodeMirror);
|
|
|
-})(function(CodeMirror) {
|
|
|
- "use strict";
|
|
|
- var WRAP_CLASS = "CodeMirror-activeline";
|
|
|
- var BACK_CLASS = "CodeMirror-activeline-background";
|
|
|
- var GUTT_CLASS = "CodeMirror-activeline-gutter";
|
|
|
-
|
|
|
- CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {
|
|
|
- var prev = old == CodeMirror.Init ? false : old;
|
|
|
- if (val == prev) return
|
|
|
- if (prev) {
|
|
|
- cm.off("beforeSelectionChange", selectionChange);
|
|
|
- clearActiveLines(cm);
|
|
|
- delete cm.state.activeLines;
|
|
|
- }
|
|
|
- if (val) {
|
|
|
- cm.state.activeLines = [];
|
|
|
- updateActiveLines(cm, cm.listSelections());
|
|
|
- cm.on("beforeSelectionChange", selectionChange);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- function clearActiveLines(cm) {
|
|
|
- for (var i = 0; i < cm.state.activeLines.length; i++) {
|
|
|
- cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS);
|
|
|
- cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS);
|
|
|
- cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- function sameArray(a, b) {
|
|
|
- if (a.length != b.length) return false;
|
|
|
- for (var i = 0; i < a.length; i++)
|
|
|
- if (a[i] != b[i]) return false;
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- function updateActiveLines(cm, ranges) {
|
|
|
- var active = [];
|
|
|
- for (var i = 0; i < ranges.length; i++) {
|
|
|
- var range = ranges[i];
|
|
|
- var option = cm.getOption("styleActiveLine");
|
|
|
- if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())
|
|
|
- continue
|
|
|
- var line = cm.getLineHandleVisualStart(range.head.line);
|
|
|
- if (active[active.length - 1] != line) active.push(line);
|
|
|
- }
|
|
|
- if (sameArray(cm.state.activeLines, active)) return;
|
|
|
- cm.operation(function() {
|
|
|
- clearActiveLines(cm);
|
|
|
- for (var i = 0; i < active.length; i++) {
|
|
|
- cm.addLineClass(active[i], "wrap", WRAP_CLASS);
|
|
|
- cm.addLineClass(active[i], "background", BACK_CLASS);
|
|
|
- cm.addLineClass(active[i], "gutter", GUTT_CLASS);
|
|
|
- }
|
|
|
- cm.state.activeLines = active;
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- function selectionChange(cm, sel) {
|
|
|
- updateActiveLines(cm, sel.ranges);
|
|
|
- }
|
|
|
-});
|
|
|
+(function(a){a(CodeMirror)})(function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap","CodeMirror-activeline"),a.removeLineClass(a.state.activeLines[b],"background","CodeMirror-activeline-background"),a.removeLineClass(a.state.activeLines[b],"gutter","CodeMirror-activeline-gutter")}function c(c,a){if(c.length!=a.length)return!1;for(var b=0;b<c.length;b++)if(c[b]!=a[b])return!1;return!0}function d(a,d){for(var e=[],f=0;f<d.length;f++){var g=d[f],h=a.getOption("styleActiveLine");if("object"==typeof h&&h.nonEmpty?g.anchor.line==g.head.line:!!g.empty()){var i=a.getLineHandleVisualStart(g.head.line);e[e.length-1]!=i&&e.push(i)}}c(a.state.activeLines,e)||a.operation(function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap","CodeMirror-activeline"),a.addLineClass(e[c],"background","CodeMirror-activeline-background"),a.addLineClass(e[c],"gutter","CodeMirror-activeline-gutter");a.state.activeLines=e})}function e(a,b){d(a,b.ranges)}a.defineOption("styleActiveLine",!1,function(c,f,g){var h=g!=a.Init&&g;f==h||(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))})});
|