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

Function skipAtomicInSelection

src/codemirror.js:2232–2245  ·  view source on GitHub ↗
(doc, sel, bias, mayClear)

Source from the content-addressed store, hash-verified

2230 // Return a selection that does not partially select any atomic
2231 // ranges.
2232 function skipAtomicInSelection(doc, sel, bias, mayClear) {
2233 var out;
2234 for (var i = 0; i < sel.ranges.length; i++) {
2235 var range = sel.ranges[i];
2236 var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i];
2237 var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear);
2238 var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear);
2239 if (out || newAnchor != range.anchor || newHead != range.head) {
2240 if (!out) out = sel.ranges.slice(0, i);
2241 out[i] = new Range(newAnchor, newHead);
2242 }
2243 }
2244 return out ? normalizeSelection(out, sel.primIndex) : sel;
2245 }
2246
2247 function skipAtomicInner(doc, pos, oldPos, dir, mayClear) {
2248 var line = getLine(doc, pos.line);

Callers 2

setSelectionNoUndoFunction · 0.85
reCheckSelectionFunction · 0.85

Calls 2

skipAtomicFunction · 0.85
normalizeSelectionFunction · 0.85

Tested by

no test coverage detected