Skip to content

feat(keybindings): add search to keyboard shortcuts dialog#63

Merged
neumie merged 1 commit intomainfrom
feat/keybindings-search
Mar 26, 2026
Merged

feat(keybindings): add search to keyboard shortcuts dialog#63
neumie merged 1 commit intomainfrom
feat/keybindings-search

Conversation

@neumie
Copy link
Copy Markdown
Contributor

@neumie neumie commented Mar 26, 2026

Summary

  • Add search/filter to the keybindings help dialog — type to instantly filter by action name, description, category, or keystroke

Changes

  • Add search_query field and SEARCH_CHARS constant to KeybindingsHelp
  • Render search_input_area between the header and scrollable content (reuses existing shared component)
  • Add on_key_down handler that pushes/pops characters into the search query when not recording a keybinding
  • Filter categories and actions in render() using case-insensitive substring matching
  • Escape clears the search first, then closes the dialog on second press

Test plan

  • Open keyboard shortcuts dialog (Cmd+K Cmd+S) — search bar visible at top
  • Type "split" — only split-related keybindings shown
  • Type "cmd" — keybindings with cmd in their keystroke shown
  • Press Escape — search clears, all keybindings visible again
  • Press Escape again — dialog closes
  • Click a keybinding to record — typing goes to recording, not search
  • After recording completes, typing resumes filtering

Type to filter keybindings by name, description, category, or keystroke.
Escape clears the search first, then closes the dialog on second press.
Search is disabled while recording a keybinding.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@neumie neumie merged commit dcc1f2a into main Mar 26, 2026
8 checks passed
@neumie neumie deleted the feat/keybindings-search branch March 26, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant