(doc, pos, oldPos, bias, mayClear)
| 187 | |
| 188 | // Ensure a given position is not inside an atomic range. |
| 189 | export function skipAtomic(doc, pos, oldPos, bias, mayClear) { |
| 190 | let dir = bias || 1 |
| 191 | let found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) || |
| 192 | (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) || |
| 193 | skipAtomicInner(doc, pos, oldPos, -dir, mayClear) || |
| 194 | (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true)) |
| 195 | if (!found) { |
| 196 | doc.cantEdit = true |
| 197 | return Pos(doc.first, 0) |
| 198 | } |
| 199 | return found |
| 200 | } |
| 201 | |
| 202 | function movePos(doc, pos, dir, line) { |
| 203 | if (dir < 0 && pos.ch == 0) { |
no test coverage detected