summaryrefslogtreecommitdiff
path: root/src/config.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-10-01 09:43:37 -0300
committerGabriel Schneider <[email protected]>2026-10-01 09:47:18 -0300
commit802de4f12f125abc261c58bdb5385f6be3ad469a (patch)
tree7dba19dcdfb2153e9dfa1d1e99b0697aabd49613 /src/config.zig
parent51df4b01f4ea8768b14048841f1c5fdd75128cd3 (diff)
downloadpardes-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 'src/config.zig')
-rw-r--r--src/config.zig6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/config.zig b/src/config.zig
index cc46adfc..7559d481 100644
--- a/src/config.zig
+++ b/src/config.zig
@@ -249,10 +249,12 @@ pub const jump_keys = [_]struct { chord: Chord, cmd: Builtin }{
.{ .chord = .{ .cp = 'i', .ctrl = true }, .cmd = .Forward },
};
-pub const leave_pane: []const Chord = &.{.{ .cp = Key.escape, .shift = true }};
+/// Shift-Esc: the Esc nothing swallows. In every mode and pane it does what
+/// Esc does from normal mode, back to the previous pane (Last); a raw
+/// terminal's program never sees it. Ctrl-b alone toggles raw.
+pub const back_out: []const Chord = &.{.{ .cp = Key.escape, .shift = true }};
pub const tty_toggle_default: u21 = 'b';
-pub const tty_toggle_alt: []const Chord = &.{.{ .cp = Key.escape, .shift = true }};
// OSC 133 prompt cells are hidden in normal mode; input columns stay intact.
pub const tty_blank: enum { prompt, prompt_and_input } = .prompt;