# Bugs - Fix jumping forward a word jumping past consecutive brackets - Scrolling past end/beginning of grep results panics - "change selection" not pushing snapshot - Don't allow panel navigation in grep panel # Visual QOL - Split grep search results into a table to avoid funky unaligned text # TODO - [ ] Jump List - [x] Use grouped lifetimes exclusively for memory allocation/freeing - [ ] Highlight which panel is currently active - [ ] Persist end of line cursor position - Testing Harness - [x] Replay user inputs and assert buffer contents/changes - [ ] Finish writing tests for all current user actions - Vim-like Macro replays - [ ] Simple File Search (vim /) - Modify input system to allow for keybinds that take input - Vim's f and F movement commands - Vim's r command - Save/Load files - [x] Save - [ ] Load when changed on disk - LSP Integration - [ ] Language Server Configurations - [ ] Diagnostics - [ ] In-line errors - [ ] Go-to Definition/ - [ ] Find references - [ ] Integrate tree-sitter - [x] Syntax Highlighting - [ ] Auto Setup Parsers - [ ] Download parser - [ ] Compile/"Install" - [ ] Auto-indent - [x] Infer indent with similar lines - [x] Infer indent with C-style scopes (languages using '{') - [ ] Infer indent inside multi-line function calls (again C-style) - [ ] Somehow use tree-sitter to be language agnostic (not sure this is even possible with TS) - [ ] Bootleg Telescope - [ ] Grepping Files - [x] Query across project - [x] Open file in new buffer - [x] Open file in new buffer at found location - [ ] Preview file with context - [x] Show Context - [ ] Properly show lines numbers - [ ] Don't overlap result list with file preview - [ ] Open Buffer Search - [ ] Workspace file search - Re-write the UI (again) - [x] New UI - [ ] Styling - [x] Background colors - [x] Borders + Border Color - [ ] Rounded corners? - [ ] Gradients? - Undo/Redo - [x] Basic/Naive Undo/Redo - [ ] Interface for undo-able actions - [ ] Edit History Tree - [ ] Undo history saved to disk - Finish selections - [x] Guarantee that start and end are always ordered - [ ] Whole Line Selections - Add in text actions - [x] Yank - [x] Delete - [ ] Change - [x] Change - [ ] Change word - [ ] Change inside delimiter - Virtual Whitespace - Allow any-sized tabs - Command Search and Execution - Refactor to remove generics added specifically for plugins - Palette based UI?