feat: TUI — Navigation & result management (EPIC #66) — v1.6.0#73
Merged
feat: TUI — Navigation & result management (EPIC #66) — v1.6.0#73
Conversation
Closes #67 - Z folds all repos if any is unfolded; unfolds all when all are folded - Clamps cursor and scrollOffset after bulk fold to keep view consistent - renderHelpOverlay: adds Z line next to ← / → fold bindings - Status bar hint line: adds 'Z fold-all' entry - Tests: help overlay contains 'Z' + 'fold / unfold all repos', renderGroups status bar contains 'Z fold-all' - docs/reference/keyboard-shortcuts.md: documents the new shortcut
- tui.ts: when Z folds all repos from an extract row, preserve cursor context by finding the repo header row in newRows rather than doing a blind numeric clamp — avoids landing on a different repository - keyboard-shortcuts.md: remove incorrect 'must be typed in lowercase' claim; note that some bindings (Z, G) require uppercase
feat: global fold/unfold — Z to collapse or expand all repositories at once
Closes #69 - openInBrowser() helper: open/xdg-open/start depending on platform, spawned detached so the TUI stays responsive - Repo row -> opens https://github.com/<org>/<repo> - Extract row -> opens the file htmlUrl returned by the GitHub API - Section header rows are a no-op (type === 'section') - renderHelpOverlay: adds 'o open in browser' entry - Status bar hint line: adds 'o open' - Tests: overlay contains 'open in browser', status bar contains 'o open' - docs/reference/keyboard-shortcuts.md: documents the shortcut in the Selection table
feat: open in browser — `o` shortcut to open the focused result's GitHub URL
Closes #68 - gg: two consecutive g presses jump to the first row - G (Shift+G): jumps to the last row - Page Up / Ctrl+U: scroll up one full page - Page Down / Ctrl+D: scroll down one full page - All jumps skip section-header rows and keep cursor visible - pendingFirstG state tracks the first g keypress; reset on any other key - renderHelpOverlay: add gg/G and PgUp/PgDn lines - Status bar hint line: add gg/G top/bot and PgUp/Dn page entries - Tests: overlay and status bar contain the new shortcut labels - docs/reference/keyboard-shortcuts.md: documents all new shortcuts
…section skip, fix docs
feat: fast navigation — gg/G (top/bottom) and Page Up/Down
|
Coverage after merging feat/tui-navigation-result-management into main will be
Coverage Report
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Coverage after merging feat/tui-navigation-result-management into main will be
Coverage Report
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contributor
There was a problem hiding this comment.
Pull request overview
This EPIC PR merges three sub-feature branches (#70, #71, #72) into a v1.6.0 release, adding power-user navigation shortcuts to the TUI: global fold/unfold (Z), Vim-style top/bottom jumps (gg/G), paged scrolling (Page Up/Page Down/Ctrl+U/Ctrl+D), and open-in-browser (o).
Changes:
- TUI navigation (
src/tui.ts): ImplementsZglobal fold/unfold,gg/Gtop/bottom jumps, Page Up/Down and Ctrl+U/D paged scrolling, andoopen-in-browser via a newopenInBrowser()helper. - Render + tests (
src/render.ts,src/render.test.ts): Updates the help overlay and status bar hint line with all new shortcuts; adds 5 new tests verifying their presence. - Release artifacts (
package.json,CHANGELOG.md,docs/blog/,docs/reference/,demo/): Version bump to 1.6.0, new blog post, updated changelog, expanded keyboard shortcuts docs, and refreshed VHS demo.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/tui.ts |
Implements all new keyboard shortcuts: Z, gg, G, Page Up/Down, Ctrl+U/D, o, plus openInBrowser() helper and pendingFirstG state for gg sequence detection |
src/render.ts |
Updated help overlay and status bar hint line to include the new shortcut descriptions |
src/render.test.ts |
Five new tests verifying help overlay and status bar include all new shortcut strings |
package.json |
Version bump from 1.5.0 to 1.6.0 |
CHANGELOG.md |
New v1.6.0 entry with blog post link |
docs/blog/release-v1-6-0.md |
New release blog post documenting all four features |
docs/blog/index.md |
New row for v1.6.0 in the What's New table |
docs/reference/keyboard-shortcuts.md |
Updated intro text and new rows for Z, gg, G, Page Up/Down, and o shortcuts |
demo/demo.tape |
Updated VHS script demonstrating all new features |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
EPIC for 🗂 TUI — Navigation & result management #66.
Closes #66. Closes #67. Closes #68. Closes #69.
This PR merges 3 sub-feature branches that were separately reviewed and merged into this epic branch, then adds the v1.6.0 release commit.
What changed
Sub-PRs merged into this branch
Z— global fold / unfold all repositories at oncegg/Gtop/bottom jumps,Page Up/Down/Ctrl+U/Dpaged scrollingo— open focused result in the default browserRelease commit (v1.6.0)
package.json: version bump1.5.0 → 1.6.0CHANGELOG.md: new v1.6.0 entrydocs/blog/release-v1-6-0.md: release blog postdocs/blog/index.md: new row in the What's New tabledemo/demo.tape: updated VHS script illustratingZ,f+.yml,gg,a,G,odemo/demo.gif: regenerated GIF from the updated tapeHow to test manually
Validation