feat(fuzzyfinder): add TODO/FIXME finder source#333
Open
jongio wants to merge 1 commit into
Open
Conversation
Press T to open a fuzzy finder over TODO, FIXME, HACK, BUG, and XXX markers across the working tree. Each entry shows file:line plus the marker text; selecting one opens the file in the preview and jumps to the line. The scanner walks the tree with the same hidden-dir and .gitignore filtering the file source uses, skips binary files, and caps file size and result count so large repos stay responsive. Wiring: - new TodoSource in internal/panels/fuzzyfinder - Item gains a Line field so selection can carry a jump target - FileSelectedMsg gains Line; preview applies it after the file loads - T bound to todo_finder in the default, classic, and vim schemes - keybindings.json and docs/keybindings.md updated Closes #327 Co-authored-by: Copilot App <[email protected]>
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.
Adds a fuzzy finder source that scans the working tree for
TODO,FIXME,HACK,BUG, andXXXmarkers so you can jump straight to the next thing that needs attention without leaving grut.What it does
Tto open the finder over every marker in the tree.file:lineplus the marker text (for exampleinternal/app.go:42 TODO wire this up).How it works
TodoSourceininternal/panels/fuzzyfinderwalks the tree reusing the same hidden-directory skip, non-navigable directory list, and.gitignorefiltering the existing file source uses.Itemgains aLinefield so a selected entry can carry a jump target.FileSelectedMsggains a matchingLine, and the preview applies it once the file finishes loading (skipping binary and oversized files).Tis bound to the newtodo_finderaction in the default, classic, and vim schemes, and the help overlay data (keybindings.json) plus generateddocs/keybindings.mdare updated.Tests
.gitignorerespect, non-navigable dir skip, and nil/empty root.matchTodoLinetable covering colon and no-colon messages, end-of-line markers, word-boundary rejection (autoTODOlist), and lowercase rejection.FileSelectedMsgcarrying the line, and thetodo_finderaction opens the finder.Closes #327
Co-authored-by: Copilot App [email protected]