Commit Graph

11 Commits

Author SHA1 Message Date
e1d91ff43d Move filepath into the Buffer struct. 2020-02-24 07:35:04 +09:00
4544efb299 Undo/redo wasn't marking the buffer as dirty. Fixed. 2020-02-23 20:14:13 +09:00
4a33750a6b Fix minor bug from the move to the new buffer. 2020-02-23 20:10:30 +09:00
c4fa72405f Switch to new backend buffer for text, cursor, and undo management. 2020-02-23 19:56:08 +09:00
6077be2dfd Add convenience fn's and impls for iterating and indexing MarkSets. 2020-02-23 16:24:41 +09:00
4267334303 Finish the bare-bones undo/redo system. 2020-02-23 15:37:16 +09:00
0c887d1eb9 Beginnings of an undo system for the new backend.
Just going to keep it stupid and simple for now.  More
sophisticated undo functionality can be added in the future.
2020-02-22 18:00:28 +09:00
c3bfdf7a7f Add Mark and MarkSet types for managing cursors etc.
Originally I was using just `(usize, usize)` for marks, and `Vec`s
of those for sets.  But that was already becoming unwieldy even for
really basic code.  This abstracts just a handful of common
operations away to make this easier to reason about.  However,
the internals are (intentionally) left exposed to allow other fiddly
things to be done.
2020-02-11 11:35:31 +09:00
fb1996c21a Have buffers store marks ranges.
This is very WIP.  The intent is for these to be used for e.g.
cursors, screen positions, etc.  The intent is for the buffer
itself to keep them synced properly with the actual text on edits,
although this is not yet implemented.
2020-02-01 11:17:08 +09:00
f0a44ab300 More work on the backend, including adding data hashing code. 2020-01-22 10:17:56 +09:00
0ee183aa72 WIP creating a clean frontend/backend separation.
- Started work on writing a new backend.
- Started work on writing text encoding handling.
2018-08-17 20:34:43 -07:00