summaryrefslogtreecommitdiff
path: root/src/Text.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 16:38:06 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commitbdbab17204efdb785b6ab3cc2022484485c0ded2 (patch)
tree34aa73b7bfbccd46b008e06cd116f35130a117b3 /src/Text.zig
parente87e16547a17864b2a0cd574c1aa42d44125bc6c (diff)
downloadpardes-bdbab17204efdb785b6ab3cc2022484485c0ded2.tar.gz
pardes-bdbab17204efdb785b6ab3cc2022484485c0ded2.zip
g. goes to where the last edit ended
helix goto_last_modification: every range moves to the end of the last change (the start of a deletion, the end of an insertion), extending in select mode. The position is kept on the Text in surface rows, set where setEditText hands a body its new text, so a terminal's typed text has one too and moves with its scrollback. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/Text.zig')
-rw-r--r--src/Text.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Text.zig b/src/Text.zig
index 411c2ec8..70ec5369 100644
--- a/src/Text.zig
+++ b/src/Text.zig
@@ -69,6 +69,9 @@ sticky_col: i32 = -1,
/// The insert session began with `a`: on Esc every range gives back the
/// one character it was stretched by (helix restore_cursor).
restore_cursor: bool = false,
+/// Where the last edit ended, a deletion's start or an insertion's end, in
+/// surface rows: for `g.` (helix last_edit_pos).
+last_edit: ?struct { row: i32, col: i32 } = null,
/// insert `Ctrl-r` was pressed: the next key names the register to insert
reg_wait: bool = false,
normal: modal.Normal.State = .{},