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/lsp | |
| 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/lsp')
| -rw-r--r-- | src/lsp/lsp.zig | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lsp/lsp.zig b/src/lsp/lsp.zig index 536047a3..610c5604 100644 --- a/src/lsp/lsp.zig +++ b/src/lsp/lsp.zig @@ -17,6 +17,7 @@ //! implementations are measured against each other: same core, same harness, //! same rows, different `query`. const std = @import("std"); +const config = @import("../config.zig"); /// What the caller wants to know. The helix command each one backs is named /// alongside, because the keymap is helix's and these are its verbs. @@ -75,11 +76,11 @@ pub const Kind = enum { /// content is not a list of locations — n/N over prose is nonsense. pub fn bufferName(k: Kind) []const u8 { return switch (k) { - .hover => "+Hover", - .code_action, .format, .rename => "+Lsp", + .hover => config.hover_buffer, + .code_action, .format, .rename => config.lsp_buffer, // prose about the backend, never a list of locations - .status, .explain => "+Lsp", - else => "+Search", + .status, .explain => config.lsp_buffer, + else => config.search_buffer, }; } }; |
