1.2 KiB
1.2 KiB
-
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)
- //Editing (these are undoable):