diff options
Diffstat (limited to 'src/config.zig')
| -rw-r--r-- | src/config.zig | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/config.zig b/src/config.zig index 15a21866..8d186435 100644 --- a/src/config.zig +++ b/src/config.zig @@ -228,6 +228,26 @@ pub const leader_path = paths: { table.set(.ThemeFile, null); table.set(.DumpThemes, null); } + // ...and the one native word that DOES earn a chord. Gated on `can_attach` + // and NOT on `hosted`, because this table may only name a builtin that + // exists: macOS is hosted but never polls `takeAttach`, so the two words + // below are compiled out there and naming them would be a compile error — + // which is the good outcome, and the reason the predicate exists. + if (pardes.can_attach) { + // In the `s` session group beside Dump and Restore. Bare Attach means + // "whichever detached session is there", which is the whole case worth + // a key; the named form is typed, like every other builtin that takes + // an operand. Safe to press by accident, uniquely among the three: it + // connects before it swaps, so nothing to attach to costs you a + // message row. + table.set(.Attach, "sa"); + // ...and the way back out, which is where the group runs out of + // letters: `sd` has been Dump's since before there was anything to + // detach from, and Detach is not worth breaking that muscle memory + // for. A capital where the lowercase is taken is what this table + // already does one group over (`lS` beside `ls`, `lD` beside `ld`). + table.set(.Detach, "sD"); + } // The bare-metal memory words. Peek, Poke and Hexdump all take an ADDRESS, // so none of them can have a leader path for the reason Theme and Msg have // none: a key path names a builtin and can never carry an operand. |
