MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / shiftDoc

Function shiftDoc

lib/web/CodeMirror/src/model/changes.js:160–172  ·  view source on GitHub ↗
(doc, distance)

Source from the content-addressed store, hash-verified

158// Sub-views need their line numbers shifted when text is added
159// above or below them in the parent document.
160function shiftDoc(doc, distance) {
161 if (distance == 0) return
162 doc.first += distance
163 doc.sel = new Selection(map(doc.sel.ranges, range => new Range(
164 Pos(range.anchor.line + distance, range.anchor.ch),
165 Pos(range.head.line + distance, range.head.ch)
166 )), doc.sel.primIndex)
167 if (doc.cm) {
168 regChange(doc.cm, doc.first, doc.first - distance, distance)
169 for (let d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++)
170 regLineChange(doc.cm, l, "gutter")
171 }
172}
173
174// More lower-level change function, handling only a single document
175// (not linked ones).

Callers 1

makeChangeSingleDocFunction · 0.70

Calls 4

mapFunction · 0.90
PosFunction · 0.90
regChangeFunction · 0.90
regLineChangeFunction · 0.90

Tested by

no test coverage detected