MCPcopy Create free account
hub / github.com/TruthHun/BookStack / skipAtomicInSelection

Function skipAtomicInSelection

static/mergely/lib/codemirror.js:2227–2240  ·  view source on GitHub ↗
(doc, sel, bias, mayClear)

Source from the content-addressed store, hash-verified

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

Callers 2

setSelectionNoUndoFunction · 0.70
reCheckSelectionFunction · 0.70

Calls 2

skipAtomicFunction · 0.70
normalizeSelectionFunction · 0.70

Tested by

no test coverage detected