38 lines
1.1 KiB
Markdown
38 lines
1.1 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"
|
|
|
|
- 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)
|