Updated todo file.

This commit is contained in:
Nathan Vegdahl 2015-01-11 12:39:41 -08:00
parent d80586e262
commit fc194bef09

43
todo.md
View File

@ -1,31 +1,38 @@
- 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
- //Editing (these are undoable):
- //insert_text
- //remove_text_before
- //remove_text_after
- //move_text
- Undo functionality:
//- Undo
//- Redo
- Op section begin (for delimiting composite edit operations)
- Op section end
- //Undo
- //Redo
- Edit transactions (for composite edit operations)
- Info:
//- grapheme_count
//- line_count
- byte_count
- //grapheme_count
- //line_count
- Position conversions:
//- index -> line_col
//- line_col -> index
//- index -> vis_2d
//- vis_2d -> index
- //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)
- Bidirectional grapheme iterator (useful for search code, etc.)
- Bidirectional ine iterator (useful for display code)
- //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)