diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-08 10:44:56 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-10 09:17:07 -0300 |
| commit | 198889ab8f78b12c9881a20309a792e419ba1386 (patch) | |
| tree | 264bb756389f4c4cbaf68a6a2aabf3d602450a36 /test/snapshots/jumps.snap | |
| parent | c3c8bbd8d8add99088c774c54bc1acf1e39ec895 (diff) | |
| download | pardes-198889ab8f78b12c9881a20309a792e419ba1386.tar.gz pardes-198889ab8f78b12c9881a20309a792e419ba1386.zip | |
Esc alternates between the last two panes; Toggleterm is gone
Esc ran Toggleterm, which hopped between the newest DOC and the newest
TERMINAL. That distinction never earned its keep. It made Esc unpredictable —
which of three panes you landed on depended on their kinds, not on where you
had been — and it could not alternate between two files at all, which is the
case you hit most. Editing two files, Esc did nothing.
The replacement already existed. Last (SPC j j) is "the pane you were in
before this one, whichever it was": it walks the jump stack for the newest
entry naming a different pane and restores its line and column. So Esc, and
Shift-Esc in tty, now run Last, and Toggleterm is deleted rather than renamed
— a third implementation of "go to the other pane" was the thing to avoid.
SPC w t goes with it; the w group is the four directional moves, and the jump
group already had SPC j j.
Held down, Esc alternates. Two files, a file and its shell, a file and a
+Search — all the same, because Last has no notion of kind to get wrong.
This depends on the swap in the same series: Last reads the stack backwards,
and until hopping stopped appending, the pane you came from could fall off it.
windownav.snap needed only its keys and prose changed — its golden did not
move at all, which is the useful evidence here: for the one scenario the old
builtin handled well, Last produces an identical focus sequence.
Coverage for what it did not handle is new: a unit test opens a second FILE by
looking its name and asserts Esc alternates between two panes of the SAME
kind, which is the case that used to be a no-op.
Docs follow: tutor.txt, docs/helix-keys.md, docs/design.typ, and the builtin
index goldens, which are now one row shorter.
75/75 snapshots, both unit suites, and the macOS ABI build all pass.
Diffstat (limited to 'test/snapshots/jumps.snap')
| -rw-r--r-- | test/snapshots/jumps.snap | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/test/snapshots/jumps.snap b/test/snapshots/jumps.snap index 6ab9df2a..1e2a9075 100644 --- a/test/snapshots/jumps.snap +++ b/test/snapshots/jumps.snap @@ -16,10 +16,13 @@ stable 700 20000 # a FILE boots alone now, so this is one column holding big.txt, focused, and # the stack is one entry deep snap start -# two focus moves, so the stack is file -> shell -> file. The shell has to be -# opened before it can be walked to, and SPC c n (Newcol) puts it in a column -# of its own on the right AND focuses it — so opening it IS the first of the -# two moves, and the stack below is the same one a shell at boot left. +# two focus moves. The shell has to be opened before it can be walked to, and +# SPC c n (Newcol) puts it in a column of its own on the right AND focuses it — +# so opening it IS the first of the two moves, and the stack below is the same +# one a shell at boot left. Walking straight back to the file does NOT leave +# `file -> shell -> file` behind: a hop to the entry under the top one is the +# same two places again, so trackJump swaps them rather than appending, and the +# stack is `shell -> file` with the file on top (see trackJump). key space c n stable 700 15000 snap to-shell @@ -40,7 +43,7 @@ snap back-in-file key c-o stable 400 5000 snap back-to-shell -# Ctrl-i forward, twice: the shell entry, then line 100 again. Sent as the +# Ctrl-i forward, twice: back to line 1 of the file, then line 100 again. Sent as the # kitty-protocol CSI u (`CSI 105;5u`) because on the wire Ctrl-i IS Tab — # see config.jump_keys. send \e[105;5u @@ -63,15 +66,21 @@ stable 700 15000 snap jumplist # n/N step the rows and look them, exactly as they do a +Search: the stepped # row is selected in the buffer (snapstyle) and the pane it names follows. -# Row 1 is the file at line 1, row 2 the shell (no path, so `@pN`), row 4 the +# Row 1 is the shell (no path, so `@pN`), row 2 the file at line 1, row 4 the # file at line 100 — so the body visibly rides the list. +# +# ponytail: stepping onto an `@pN` row selects it but does NOT focus that pane — +# the cursor stays where it was, which is why step1-shell's header is still the +# file's. Only rows with a PATH move focus. Nothing tested this before, because +# until the swap above the shell never survived on the stack to be listed at +# all. Fix belongs in the location-list step, next to the path case. key n stable 700 15000 -snap step1 -snapstyle step1 +snap step1-shell +snapstyle step1-shell key n stable 700 15000 -snap step2-shell +snap step2-file key n stable 700 15000 key n @@ -82,8 +91,9 @@ stable 700 15000 snap step-back # and an ordinary LOOK on a row goes there too — the leading word IS a # location, so the right-click look resolves it like any other path. Row 4 -# again, this time by clicking it. -press right 16 28 -release right 16 28 +# again, this time by clicking it: the buffer's four rows are the last four +# screen rows, so row 4 is the bottom one. +press right 16 30 +release right 16 30 stable 700 15000 snap look-row |
