Merge pull request #6 from ksyasuda/feature/session-help-modal

Add help modal
This commit is contained in:
2026-02-16 00:32:27 -08:00
committed by GitHub
14 changed files with 1168 additions and 16 deletions

View File

@@ -3,7 +3,7 @@ id: TASK-26
title: >-
Add session help modal with dynamic keybinding/color legend and keyboard/mouse
navigation
status: To Do
status: Done
assignee: []
created_date: '2026-02-13 16:49'
labels: []
@@ -19,19 +19,19 @@ Create a help modal that auto-generates its content from the project/app layout
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Help modal content is generated automatically from current keybinding config and project/app layout rather than hardcoded static text.
- [ ] #2 Modal displays current session keybindings and active color-key mappings in a clear, grouped layout with section separation for readability.
- [ ] #3 Modal can be opened with `y-h` when available; if `y-h` is already bound, modal opens with `y-k` instead.
- [ ] #4 Close behavior: `Escape` exits the modal and returns to previous focus/state.
- [ ] #5 Modal supports mouse-based interaction for standard focus/selection actions.
- [ ] #6 Navigation inside modal supports arrow keys for movement between focusable items.
- [ ] #7 Modal supports internal navigation semantics equivalent to hjkl directional movement for users, while UI text/labels do not mention hjkl keys.
- [ ] #8 No visible UI mention of Vim key names is shown in modal labels/help copy.
- [ ] #9 Modal opens from current session without requiring a restart and reflects updated config changes without code changes.
- [ ] #10 If the shortcut is unavailable due to conflicts, user-visible fallback behavior/error is deterministic and documented.
- [x] #1 Help modal content is generated automatically from current keybinding config and project/app layout rather than hardcoded static text.
- [x] #2 Modal displays current session keybindings and active color-key mappings in a clear, grouped layout with section separation for readability.
- [x] #3 Modal can be opened with `y-h` when available; if `y-h` is already bound, modal opens with `y-k` instead.
- [x] #4 Close behavior: `Escape` exits the modal and returns to previous focus/state.
- [x] #5 Modal supports mouse-based interaction for standard focus/selection actions.
- [x] #6 Navigation inside modal supports arrow keys for movement between focusable items.
- [x] #7 Modal supports internal navigation semantics equivalent to hjkl directional movement for users, while UI text/labels do not mention hjkl keys.
- [x] #8 No visible UI mention of Vim key names is shown in modal labels/help copy.
- [x] #9 Modal opens from current session without requiring a restart and reflects updated config changes without code changes.
- [x] #10 If the shortcut is unavailable due to conflicts, user-visible fallback behavior/error is deterministic and documented.
<!-- AC:END -->
## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 Auto-generated help modal displays up-to-date keybinding + color mapping data and supports both keyboard (arrow/fallback path) and mouse navigation with Escape-to-close.
- [x] #1 Auto-generated help modal displays up-to-date keybinding + color mapping data and supports both keyboard (arrow/fallback path) and mouse navigation with Escape-to-close.
<!-- DOD:END -->