(doc, distance)
| 158 | // Sub-views need their line numbers shifted when text is added |
| 159 | // above or below them in the parent document. |
| 160 | function 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). |
no test coverage detected