From 198889ab8f78b12c9881a20309a792e419ba1386 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Sat, 8 Aug 2026 10:44:56 -0300 Subject: Esc alternates between the last two panes; Toggleterm is gone MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- test/snapshots/psearch.golden | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'test/snapshots/psearch.golden') diff --git a/test/snapshots/psearch.golden b/test/snapshots/psearch.golden index 0ce9f2ee..25af2036 100644 --- a/test/snapshots/psearch.golden +++ b/test/snapshots/psearch.golden @@ -1,6 +1,6 @@ == snap output grid=140x30 cursor=4,8 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/psearch/cwd New Del +| /tmp/pardes-snap/psearch/cwd New Del | | x MARK a | zz @@ -31,7 +31,7 @@ | == snap typing grid=140x30 cursor=8,29 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/psearch/cwd New Del +| /tmp/pardes-snap/psearch/cwd New Del | | x MARK a | zz @@ -62,7 +62,7 @@ | /MARK == snap results grid=140x30 cursor=4,8 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/psearch/cwd New Del +| /tmp/pardes-snap/psearch/cwd New Del | | x MARK a | zz @@ -87,13 +87,13 @@ | | | -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 @p0:2:3-6 x MARK a | 2 @p0:4:3-6 x MARK b | 3 @p0:6:3-6 x MARK c == snap first grid=140x30 cursor=7,3 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/psearch/cwd New Del +| /tmp/pardes-snap/psearch/cwd New Del | | x MARK a | zz @@ -118,13 +118,13 @@ | | | -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 @p0:2:3-6 x MARK a | 2 @p0:4:3-6 x MARK b | 3 @p0:6:3-6 x MARK c == style first |0: 0-56 #949494,#121212, 57-139 d,#121212, -|1: 0-1 #ffffff,#626262, 2-37 #949494,#121212, 38-139 d,#121212, +|1: 0-1 #ffffff,#626262, 2-119 #949494,#121212, 120-139 d,#121212, |2: 0-0 d,#444444, 1-1 d,#080808, 2-139 #bdbdbd,#080808, |3: 0-0 d,#444444, 1-1 d,#080808, 2-3 #bdbdbd,#080808, 4-7 #080808,#80a0ff, 8-139 #bdbdbd,#080808, |4: 0-0 d,#444444, 1-1 d,#080808, 2-139 #bdbdbd,#080808, @@ -149,13 +149,13 @@ |23: 0-0 d,#444444, 1-1 d,#080808, 2-139 #bdbdbd,#080808, |24: 0-0 d,#444444, 1-1 d,#080808, 2-139 #bdbdbd,#080808, |25: 0-0 d,#444444, 1-1 d,#080808, 2-139 #bdbdbd,#080808, -|26: 0-1 #ffffff,#262626, 2-45 #949494,#121212, 46-139 d,#121212, +|26: 0-1 #ffffff,#262626, 2-119 #949494,#121212, 120-139 d,#121212, |27: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-139 #080808,#80a0ff, |28: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-24 #bdbdbd,#080808, 25-139 d,#080808, |29: 0-0 d,#121212, 1-1 d,#080808, 2-6 #626262,#080808, 7-24 #bdbdbd,#080808, 25-139 d,#080808, == snap second grid=140x30 cursor=7,5 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/psearch/cwd New Del +| /tmp/pardes-snap/psearch/cwd New Del | | x MARK a | zz @@ -180,13 +180,13 @@ | | | -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 @p0:2:3-6 x MARK a | 2 @p0:4:3-6 x MARK b | 3 @p0:6:3-6 x MARK c == snap back grid=140x30 cursor=7,3 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/psearch/cwd New Del +| /tmp/pardes-snap/psearch/cwd New Del | | x MARK a | zz @@ -211,13 +211,13 @@ | | | -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 @p0:2:3-6 x MARK a | 2 @p0:4:3-6 x MARK b | 3 @p0:6:3-6 x MARK c == snap nomatch grid=140x30 cursor=7,3 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/psearch/cwd New Del +| /tmp/pardes-snap/psearch/cwd New Del | | x MARK a | zz @@ -240,15 +240,15 @@ | | | -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 @p0:2:3-6 x MARK a | 2 @p0:4:3-6 x MARK b | 3 @p0:6:3-6 x MARK c == snap ttyinert grid=140x30 cursor=4,8 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -|$ /tmp/pardes-snap/psearch/cwd New Del +|$ /tmp/pardes-snap/psearch/cwd New Del | $ printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n' | x MARK a | zz @@ -271,15 +271,15 @@ | | | -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 @p0:2:3-6 x MARK a | 2 @p0:4:3-6 x MARK b | 3 @p0:6:3-6 x MARK c == snap rightsearch grid=140x30 cursor=7,5 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/psearch/cwd New Del +| /tmp/pardes-snap/psearch/cwd New Del | | x MARK a | zz @@ -302,9 +302,9 @@ | | | -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 -| /tmp/pardes-snap/psearch/cwd/+Search New Del +| /tmp/pardes-snap/psearch/cwd/+Search New Del | 1 @p0:2:3-6 x MARK a | 2 @p0:4:3-6 x MARK b | 3 @p0:6:3-6 x MARK c -- cgit v1.3