summaryrefslogtreecommitdiff
path: root/src/Text.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text.zig')
-rw-r--r--src/Text.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Text.zig b/src/Text.zig
index 43dd8a95..f6780935 100644
--- a/src/Text.zig
+++ b/src/Text.zig
@@ -118,7 +118,8 @@ pub fn fromModalCursor(t: *Text, c: modal.Cursor) void {
pub fn insertVerticalCursor(lines: []const []const u8, c: modal.Cursor, down: bool) modal.Cursor {
if (lines.len == 0) return c;
- const row = if (down) @min(c.row + 1, lines.len - 1) else c.row -| 1;
+ // A cursor past the lines (its text changed under it) moves from the last.
+ const row = if (down) @min(c.row + 1, lines.len - 1) else @min(c.row, lines.len) -| 1;
const target = lines[row];
if (target.len == 0) return .{ .row = row, .col = 0 };
const source = if (c.row < lines.len) lines[c.row] else "";