The formatters now work on grapheme iterators instead of directly on lines, which frees up the LineFormatter to break up long lines into smaller blocks of text. This is partially taken advantage of right now in various parts of the code, but more work is still needed to get it both working properly and fast.
1013 B
1013 B
-
Syntax highlighting:
- It's tempting to want to do syntax highlighting only on the bare minimum parts of the text after an edit, but realistically there are always cases where the entire text has to be scanned again to get correct results. So it must be something that can be done asynchronously.
- Maybe a quick-n-dirty local update, followed by an async background update.
- Should the syntax highlighting data be stored in the text buffer itself? Or should there be an accompanying structure on the side for that?
- What do other editors do?
-
Text encoding support:
- Buffers need to know what encoding they represent.
- Loading/saving code for different encodings.
- Auto-detecting text encodings from file data (this one will be tricky).
-
Handle extremely long lines well.
-
Word wrap.
-
Get non-wrapping text working again.
-
File opening by entering path
-
UI that wraps editors, for split view.
-
Persistent infinite undo
-
"Projects"