odin_editor/todo.md

72 lines
2.3 KiB
Markdown

# Bugs
- Memory Leak
- Fix jumping forward a word jumping past consecutive brackets
- Odd scrolling behavior on small screen heights
- Scrolling past end/beginning of results panics
# Visual QOL
- Split grep search results into a table to avoid funky unaligned text
# Planned Features
- 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 /)
- [ ] Auto-indent
- 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
- Re-implement lost features from Plugins
- [ ] Integrate tree-sitter
- [x] Syntax Highlighting
- [ ] Auto Setup Parsers
- [ ] Download parser
- [ ] Compile/"Install"
- [ ] Auto-indent?
- [ ] 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
- Re-write the UI (again)
- [x] New UI
- [ ] Styling
- 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?