diff options
| author | Gabriel Schneider <[email protected]> | 2026-10-01 09:43:37 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 09:47:18 -0300 |
| commit | 802de4f12f125abc261c58bdb5385f6be3ad469a (patch) | |
| tree | 7dba19dcdfb2153e9dfa1d1e99b0697aabd49613 /test | |
| parent | 51df4b01f4ea8768b14048841f1c5fdd75128cd3 (diff) | |
| download | pardes-802de4f12f125abc261c58bdb5385f6be3ad469a.tar.gz pardes-802de4f12f125abc261c58bdb5385f6be3ad469a.zip | |
Shift-Esc always backs out: in every mode and pane it goes to the previous pane, as Esc does from normal, and a raw program never sees it; Ctrl-b alone toggles raw
Shift-Esc switched a terminal in normal or insert mode into raw, so the
one key meant to get out of anything got a script or a person into a
program instead. It is now handled before any mode: an open prompt is
closed, insert mode left, a pending count dropped, and Last runs, the
pane keeping its mode (a raw terminal stays raw). Ctrl-b is the only
switch between raw and normal. The keymap's two chords become one,
back_out; the cheatsheet row, the guide's mode table and the tutor say
so, and the tty and builtins goldens are re-recorded.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'test')
| -rw-r--r-- | test/snapshots/builtins.golden | 4 | ||||
| -rw-r--r-- | test/snapshots/tty.golden | 17 | ||||
| -rw-r--r-- | test/snapshots/tty.snap | 25 |
3 files changed, 20 insertions, 26 deletions
diff --git a/test/snapshots/builtins.golden b/test/snapshots/builtins.golden index 27b43a3a..68fab516 100644 --- a/test/snapshots/builtins.golden +++ b/test/snapshots/builtins.golden @@ -73,9 +73,9 @@ |58: 43 Esc and Shift-Esc, by mode: |59: 44 |60: 45 NORMAL Esc back to the previous pane (`Last`, SPC j j) -|61: 46 Shift-Esc the same; in a terminal it switches to RAW +|61: 46 Shift-Esc the same |62: 47 INSERT Esc back to NORMAL -|63: 48 Shift-Esc the same; in a terminal it switches to RAW +|63: 48 Shift-Esc out of INSERT and back to the previous pane |64: 49 RAW Esc goes to the program, except at an idle, |65: 50 EMPTY shell prompt: back to the previous pane |66: 51 Shift-Esc always back to the previous pane diff --git a/test/snapshots/tty.golden b/test/snapshots/tty.golden index 981a5c7f..b1ee7afd 100644 --- a/test/snapshots/tty.golden +++ b/test/snapshots/tty.golden @@ -29,15 +29,14 @@ |4: ls ls |6: echo SNAP''OK |8: -== snap shift-esc-on grid=100x31 cursor=4,8 -|2: $ /tmp/pardes-snap/tty/cwd Tty+bash Save Mode Fil /tmp/pardes-snap/tty/cwd Tty+bash Save Mode Fil -|4: $ ls ls -|6: $ echo SNAP''OK -|8: $ -== snap shift-esc-nodoc grid=100x31 cursor=4,21 -|4: $ ls Last ls -== snap ctrl-b-off grid=100x31 cursor=4,21 -|4: $ ls ls +== snap shift-esc-normal grid=100x31 cursor=4,21 +|4: ls Last ls +== snap ctrl-b-on grid=100x31 cursor=4,21 +|4: ls ls |17: $ /tmp/pardes-snap/tty/cwd Tty+bash Save Mode Fil |19: $ ls |21: $ +== snap ctrl-b-off grid=100x31 cursor=4,21 +|17: /tmp/pardes-snap/tty/cwd Tty+bash Save Mode Fil +|19: ls +|21: diff --git a/test/snapshots/tty.snap b/test/snapshots/tty.snap index 6ce0d5ba..48fffbd1 100644 --- a/test/snapshots/tty.snap +++ b/test/snapshots/tty.snap @@ -1,11 +1,8 @@ -# tty mode round-trip: Ctrl-b in, run a command, Ctrl-b out. Shift-Esc (CSI -# 27;2u — needs a host that reports modifiers on Escape) also gets you IN; a -# PLAIN Esc does not, it still goes to the shell. -# -# Getting OUT is Ctrl-b alone. Shift-Esc in tty is what Escape is in normal -# mode instead — Last, the pane you were in before this one — leaving this pane -# in tty so coming back lands in the program you left. The hop itself is -# covered by a unit test in pardes.zig. +# tty mode round-trip: Ctrl-b in, run a command, Ctrl-b out. Ctrl-b is the one +# switch between raw and normal. Shift-Esc (CSI 27;2u — needs a host that +# reports modifiers on Escape) never switches: in every mode it is what Escape +# is in normal mode — Last, the pane you were in before this one — and a raw +# terminal stays raw. The hop itself is covered by a unit test in pardes.zig. file m.txt marker start 31 100 -n 3 wait 8000 m.txt @@ -21,16 +18,14 @@ snap tty-echo key c-b stable 600 8000 snap tty-off -# Shift-Esc: in, the same as Ctrl-b... +# Shift-Esc from normal: never into raw; it backs out to the previous pane. send \e[27;2u stable 600 8000 -snap shift-esc-on -# ...but not out. With no doc pane to hop to it changes nothing: still tty, -# prompts still shown, same pane focused. -send \e[27;2u +snap shift-esc-normal +# Ctrl-b is the switch: into raw, and out again. +key c-b stable 600 8000 -snap shift-esc-nodoc -# Ctrl-b still leaves tty in place, which is now the only thing that does. +snap ctrl-b-on key c-b stable 600 8000 snap ctrl-b-off |
