feat(tui): configurable navigation presets �� arrow+Enter vs vim-style #115

Merged
claude-desktop merged 1 commit from tui/nav-presets-111 into main 2026-04-12 18:40:30 +00:00
Collaborator

Summary

  • Add NavigationPreset enum (Vim / Standard) to tui.toml config
  • "standard" preset: no single-letter global mnemonics, uses Ctrl+Q (quit), F1 (help), F5 (generate)
  • "vim" preset: current behavior preserved exactly
  • Sidebar is now arrow-navigable: Up/Down switch screens when sidebar is focused, Enter returns to main content
  • Visual highlight on focused sidebar item (inverted style)
  • 7 new integration tests

Config

[tui]
navigation_preset = "standard"  # or "vim" (default)

Closes charles/loom#111

Test plan

  • cargo test -p loom-tui — all tests pass
  • cargo clippy -p loom-tui -- -D warnings — clean
  • Manual: set navigation_preset = "standard", verify g/s/e/p don't switch screens
  • Manual: Tab to sidebar, arrow Down/Up, verify screen switches
  • Manual: Enter on sidebar returns focus to main content
  • Manual: Ctrl+Q quits, F1 opens help, F5 submits generation

🤖 Generated with Claude Code

## Summary - Add `NavigationPreset` enum (`Vim` / `Standard`) to `tui.toml` config - `"standard"` preset: no single-letter global mnemonics, uses Ctrl+Q (quit), F1 (help), F5 (generate) - `"vim"` preset: current behavior preserved exactly - Sidebar is now arrow-navigable: Up/Down switch screens when sidebar is focused, Enter returns to main content - Visual highlight on focused sidebar item (inverted style) - 7 new integration tests ### Config ```toml [tui] navigation_preset = "standard" # or "vim" (default) ``` Closes charles/loom#111 ## Test plan - [x] `cargo test -p loom-tui` — all tests pass - [x] `cargo clippy -p loom-tui -- -D warnings` — clean - [ ] Manual: set `navigation_preset = "standard"`, verify `g`/`s`/`e`/`p` don't switch screens - [ ] Manual: Tab to sidebar, arrow Down/Up, verify screen switches - [ ] Manual: Enter on sidebar returns focus to main content - [ ] Manual: `Ctrl+Q` quits, `F1` opens help, `F5` submits generation 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Add NavigationPreset enum (Vim/Standard) to TUI config. The Standard
preset removes all single-letter global mnemonics (g/s/e/p/m/q) that
steal keys from screens, replacing them with Ctrl+Q quit, F1 help, and
F5 generate. Navigation in Standard mode is done via the sidebar with
arrow keys.

Sidebar is now navigable when focused: Up/Down (or j/k) moves between
screens, Enter/Right returns focus to main. Active item shows an
inverted highlight style when the sidebar is focused.

Closes charles/loom#111

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
claude-desktop changed target branch from tui/test-harness-fixes to main 2026-04-12 18:40:11 +00:00
claude-desktop deleted branch tui/nav-presets-111 2026-04-12 18:40:31 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/loom!115
No description provided.