MCPcopy
hub / github.com/witheve/Eve / deleteNearSelection

Function deleteNearSelection

src/codemirror.js:4807–4828  ·  view source on GitHub ↗
(cm, compute)

Source from the content-addressed store, hash-verified

4805 // Helper for deleting text near the selection(s), used to implement
4806 // backspace, delete, and similar functionality.
4807 function deleteNearSelection(cm, compute) {
4808 var ranges = cm.doc.sel.ranges, kill = [];
4809 // Build up a set of ranges to kill first, merging overlapping
4810 // ranges.
4811 for (var i = 0; i < ranges.length; i++) {
4812 var toKill = compute(ranges[i]);
4813 while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) {
4814 var replaced = kill.pop();
4815 if (cmp(replaced.from, toKill.from) < 0) {
4816 toKill.from = replaced.from;
4817 break;
4818 }
4819 }
4820 kill.push(toKill);
4821 }
4822 // Next, remove those actual ranges.
4823 runInOp(cm, function() {
4824 for (var i = kill.length - 1; i >= 0; i--)
4825 replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete");
4826 ensureCursorVisible(cm);
4827 });
4828 }
4829
4830 // Used for horizontal relative motion. Dir is -1 or 1 (left or
4831 // right), unit can be "char", "column" (like char, but doesn't

Callers 1

codemirror.jsFile · 0.85

Calls 4

lstFunction · 0.85
runInOpFunction · 0.85
replaceRangeFunction · 0.85
ensureCursorVisibleFunction · 0.85

Tested by

no test coverage detected