Goncharov is a Rust-based, cross-platform, CLI text editor. It is still in pre-alpha status as it is missing a few key features, such as being able to load a file, save a file, or use the backspace key...
- Clone this github repo
- cd into the new directory
- Execute
cargo run
- Add code to increment/decrement line_offset in the EditorState updater
- Figure out the right interactions between cursor_state.y and line_offset, then make all their appearances in the code consistent
- Need to clean up update_editor_state, make it more consistent in using editor_state.display_buffer or similar if possible
- Implementing the piece table data structure to allow for efficiently tracking insertions and deletions on large documents, with infinite undo and redo potential at zero cost
- Displaying typed text
- Inserting text into arbitrary positions
- Breaking the editor state out into a struct for better debugging
- Left cursor movement
- Right cursor movement
- Up cursor movement
- Down cursor movement
- Pagination
- Loading files
- Saving files
- Deleting text
- Find-replace functionality
- CLI arguments
- LSP support, potentially
- Scripting support