()
| 531 | } |
| 532 | |
| 533 | downLogicalLine(): Cursor { |
| 534 | const { start: currentStart, end: currentEnd } = this.getLogicalLineBounds() |
| 535 | |
| 536 | // At last line - stay at end |
| 537 | if (currentEnd >= this.text.length) { |
| 538 | return new Cursor(this.measuredText, this.text.length, 0) |
| 539 | } |
| 540 | |
| 541 | // Calculate target column position |
| 542 | const currentColumn = this.offset - currentStart |
| 543 | |
| 544 | // Find next line bounds |
| 545 | const nextLineStart = currentEnd + 1 |
| 546 | const nextLineEnd = this.findLogicalLineEnd(nextLineStart) |
| 547 | |
| 548 | return this.createCursorWithColumn( |
| 549 | nextLineStart, |
| 550 | nextLineEnd, |
| 551 | currentColumn, |
| 552 | ) |
| 553 | } |
| 554 | |
| 555 | // Vim word vs WORD movements: |
| 556 | // - word (lowercase w/b/e): sequences of letters, digits, and underscores |
no test coverage detected