- Custom panic handler that resets terminal
- C-t swaps characters like in Emacs
- Display a prompt message when saving a buffer
- Show possible commands with the entered prefix after an interval
- C-?
- Alt-f Alt-b Alt-d (move symbol left/right, delete symbol)
- Goto line
- File picker looks at the whole repo (if in repo, otherwise current dir)
- Comment / uncomment region
- Should pressing Enter in file picker open the file? (new files)
- Text wrapping (until a min size and then switch to overflow, like Emacs)
- Autoindent
- rustfmt on save
- flake8 errors on save
- search
- regex search
- zi: auto generated ids
- zi: unique focus controller
- Decouple frames from buffers and add a buffer switcher
- Intuitive change of focus when closing windows
- Undo / redo
- Ability to split a frame vertically
- Copy / paste between different buffers (clipboard in context)
- Copy / paste to system clipboard (behind feature flag?)
- zi: garbage collect unmounted components
- Unify handle_action and task_done
- Input controller (and more emacs-y key bindings)
- Add frontend based on
crossterm
- Show current git branch in buffers
- File name doesn't contain the full path
- File finder (fuzzy matching, new files, list selection)
- Re-use tree cursors when drawing text
- Correctly sync up edits with the parse tree
- Cancel running tree sitter parsers on further edits
- Tree-sitter async syntax highlighting
- Support for arrow keys (investigate termion issue)
- Copy/paste and selection
- Fix visual cursor at the end of buffer
- Remove trailing whitespace on save
- Highlight current line in a buffer
- Ability to split / close buffers and change focus
- Async save
- Splash screen
- Position in file indicator
- Proper vertical cursor movement
- Copy paste should be fast (only redraw if enough time has passed?)
- Add
Component
trait - Command prompt
- Multiple buffers (horizontal/vertical split)