diff options
| author | Gabriel Schneider <[email protected]> | 2026-07-31 00:26:12 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-01 15:02:07 -0300 |
| commit | ea228d1b832401db8efe33a5db4099ba41d42509 (patch) | |
| tree | 10a5a7514eca150ba90c188a109c3c604607ef9b /src/gui/gui.zig | |
| parent | 19f7322100062b7c1adcde3376063ce6c1d8c72d (diff) | |
| download | pardes-ea228d1b832401db8efe33a5db4099ba41d42509.tar.gz pardes-ea228d1b832401db8efe33a5db4099ba41d42509.zip | |
config.zig: every binding and every piece of Look syntax in one file
Retargeting a key, a mouse chord or a spelling is now an edit to src/config.zig
and nothing else. Three parts in reading order: pardes's own bindings (where a
reader lands), the Look/Exec syntax, then the helix keymap under a banner
saying hxdiff/hxparity are differential suites against real helix, so a key
moved there is a divergence and not a tweak.
The bindings are data a comptime loop can walk, because the builtin index is
going to walk them.
Duplication this cut: is/isC/isA became one hit(key, chords) over ~132 call
sites, and a binding being a LIST collapses the letter-or-arrow chains;
swap_enter_tab is gone, replaced by look_key/exec_key that can point anywhere;
the four focus builtins' h/j/k/l lived hardcoded in two places and is now one
table.
No golden moved.
Diffstat (limited to 'src/gui/gui.zig')
| -rw-r--r-- | src/gui/gui.zig | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gui/gui.zig b/src/gui/gui.zig index bca0ebb9..d8086981 100644 --- a/src/gui/gui.zig +++ b/src/gui/gui.zig @@ -17,6 +17,7 @@ const libc = std.c; const vaxis = @import("vaxis"); // test modes only: the stdin escape-seq parser const ghostty_vt = @import("ghostty-vt"); // 256-color palette for .index cells const pardes = @import("../pardes.zig"); +const config = @import("../config.zig"); const look = @import("../look.zig"); const deck = @import("deck.zig"); const crt = @import("crt.zig"); @@ -395,7 +396,7 @@ fn webChromeTarget(core: *const pardes.Pardes, col: u16, row: u16) ?WebChromeTar for (core.panes, 0..) |slot, id| { if (slot == null) continue; const rect = core.rects[id]; - if (row == rect.y and col >= rect.x and col < rect.x + rect.w and col < rect.x + pardes.GUTTER) + if (row == rect.y and col >= rect.x and col < rect.x + rect.w and col < rect.x + config.GUTTER) return .{ .col = col, .row = rect.y }; } |
