From 65b36d9e23f1b427c934afe18c0594ca47effaf4 Mon Sep 17 00:00:00 2001 From: Matt Pass Date: Sat, 12 Mar 2016 16:21:57 +0000 Subject: [PATCH] Own foldcode.js dropped in favor of CM version It's more efficient and creates the markers without blocking the display of the editor. --- lib/foldcode.js | 55 ------------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 lib/foldcode.js diff --git a/lib/foldcode.js b/lib/foldcode.js deleted file mode 100644 index 6995a53..0000000 --- a/lib/foldcode.js +++ /dev/null @@ -1,55 +0,0 @@ -// Modified version of CodeMirror's codefold.js to show guttermarkers - -CodeMirror.doFold = function(foldType, widget, markOn, markOff, dontCollapse) { - - if (widget == null) widget = "\u2194"; - if (typeof widget == "string") { - var text = document.createTextNode(widget); - widget = document.createElement("span"); - widget.appendChild(text); - widget.className = "CodeMirror-foldmarker"; - } - if (markOn == null) markOn = "+"; - if (typeof markOn == "string") { - var text = document.createTextNode(markOn); - markOn = document.createElement("span"); - markOn.appendChild(text); - markOn.className = "fold foldOn"; - } - if (markOff == null) markOff = "-"; - if (typeof markOff == "string") { - var text = document.createTextNode(markOff); - markOff = document.createElement("span"); - markOff.appendChild(text); - markOff.className = "fold foldOff"; - } - - return function(cm, pos) { - if (typeof pos == "number") pos = CodeMirror.Pos(pos, 0); - var range = CodeMirror.fold[foldType](cm, pos); - foldable = range && (range.from.line != range.to.line || range.from.ch != range.to.ch) ? true : false; - if (!foldable) cm.setGutterMarker(pos.line, "folds", null); - if (!range) return; - - var present = cm.findMarksAt(range.from), cleared = 0; - for (var i = 0; i < present.length; ++i) { - if (present[i].__isFold) { - ++cleared; - present[i].clear(); - } - } - - if (foldable) { - cm.setGutterMarker(pos.line, "folds", cleared || dontCollapse ? markOff.cloneNode(true) : markOn.cloneNode(true)); - } - - if (cleared || dontCollapse) return; - var myWidget = widget.cloneNode(true); - CodeMirror.on(myWidget, "mousedown", function() {myRange.clear();cm.setGutterMarker(pos.line, "folds", markOff.cloneNode(true));}); - var myRange = cm.markText(range.from, range.to, { - replacedWith: myWidget, - clearOnEnter: true, - __isFold: true - }); - }; -}; \ No newline at end of file