led/todo.md

39 lines
1.2 KiB
Markdown

- Custom line iterator code for file loading, because rust's built-in one
only recognizes LF and CRLF.
- Line number display
- Line wrapping
- File opening by entering path
- UI that wraps editors, for split view.
- Persistent infinite undo
- Multiple cursors
- "Projects"
- Move undo/redo functionality into Editor instead of Buffer
- Clean up text buffer interface:
- //Editing (these are undoable):
- //insert_text
- //remove_text_before
- //remove_text_after
- //move_text
- Undo functionality:
- //Undo
- //Redo
- Edit transactions (for composite edit operations)
- Info:
- byte_count
- //grapheme_count
- //line_count
- Position conversions:
- //index -> line_col
- //line_col -> index
- //index -> vis_2d
- //vis_2d -> index
- index -> byte_index
- byte_index -> index
- Reading text:
- //grapheme at index (includes visual width in return)
- //Grapheme iterator (useful for search code, etc.)
- Byte iterator (useful for search code, etc.)
- Reverse byte iterator (useful for search code, etc.)
- //Line iterator (useful for display code)