MCPcopy Create free account
hub / github.com/breck7/scroll / skipAtomicInSelection

Function skipAtomicInSelection

external/.scrollLibs.js:6998–7013  ·  view source on GitHub ↗
(doc, sel, bias, mayClear)

Source from the content-addressed store, hash-verified

6996 // Return a selection that does not partially select any atomic
6997 // ranges.
6998 function skipAtomicInSelection(doc, sel, bias, mayClear) {
6999 var out
7000 for (var i = 0; i < sel.ranges.length; i++) {
7001 var range = sel.ranges[i]
7002 var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]
7003 var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear)
7004 var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear)
7005 if (out || newAnchor != range.anchor || newHead != range.head) {
7006 if (!out) {
7007 out = sel.ranges.slice(0, i)
7008 }
7009 out[i] = new Range(newAnchor, newHead)
7010 }
7011 }
7012 return out ? normalizeSelection(doc.cm, out, sel.primIndex) : sel
7013 }
7014
7015 function skipAtomicInner(doc, pos, oldPos, dir, mayClear) {
7016 var line = getLine(doc, pos.line)

Callers 2

setSelectionNoUndoFunction · 0.85
reCheckSelectionFunction · 0.85

Calls 3

skipAtomicFunction · 0.85
normalizeSelectionFunction · 0.85
sliceMethod · 0.80

Tested by

no test coverage detected