This repository has been archived on 2026-10-08 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
745e9fde8bc687baea956db62b0688ff3adcda02
The keybinding parser validated strings, not whether any producer could emit the event — so the shipped default `mouse:dblclick(sidebar-row)` could never fire, and nothing failed. `MouseKind::DblClick` appeared only in the enum and in parse/format; `canonicalise` emits Down/Drag/ScrollUp/ScrollDown. Adds a `ClickTracker` that promotes a second click at the same cell within 400ms, keeping `canonicalise` a pure function of one event — the tracker takes `now` as a parameter, so the timing rule is tested without sleeping. `Region::Sidebar` and `Region::SplitDivider` are deleted: `region_at` can only return Modal, Tab, SidebarRow, Pane or Unknown, so the parser was accepting names the renderer cannot produce. It now rejects them. Shift-Tab is wired to `overlays::prev_field`, which existed with no caller, leaving the spawn modal cycleable in one direction only. crossterm reports it as `KeyCode::BackTab` rather than a modified Tab, so `InputKey` gains a `BackTab` variant that also forwards `\x1b[Z` to the pane. Left alone: `Action::FocusPane(Direction)` discards its direction, but that is v1 having one pane per tab, not a defect. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
No description provided
13 MiB
Languages
Rust
62.2%
TypeScript
22.6%
Kotlin
9.7%
CSS
4.4%
Nix
0.5%
Other
0.5%