about summary refs log tree commit diff stats
path: root/undo.lua
Commit message (Collapse)AuthorAgeFilesLines
* line.y -> line_cache.starty in a few more placesKartik K. Agaram2022-07-271-2/+2
| | | | | | Disquieting that none of my tests caught these. On the other hand, I also haven't noticed any issues in practice. Perhaps cache invalidation is often unnecessary.
* separate data structure for each line's cache dataKartik K. Agaram2022-07-171-0/+11
| | | | I have no idea what the performance implications of this are..
* add state arg to a few functionsKartik K. Agaram2022-07-121-24/+24
| | | | | | | - record_undo_event - undo_event - redo_event - snapshot
* group all editor globalsKartik K. Agaram2022-07-121-20/+20
| | | | We're still accessing them through a global. But we'll change that next.
* stop saving the entire file when modifying drawingsKartik K. Agaram2022-06-101-4/+2
| | | | Now we just disallow that entirely.
* undo creating new drawingsKartik K. Agaram2022-06-101-0/+5
|
* crisp font renderingKartik K. Agaram2022-06-021-1/+0
|
* more efficient undo/redoKartik K. Agaram2022-06-021-2/+35
| | | | | Now the bottleneck shifts to applying undo/redo in large files. But things should be snappy if you don't use the sluggish feature.
* renameKartik K. Agaram2022-06-021-1/+1
|
* after much struggle, a brute-force undoKartik K. Agaram2022-06-021-0/+78
Incredibly inefficient, but I don't yet know how to efficiently encode undo mutations that can span multiple lines. There seems to be one bug related to creating new drawings; they're not spawning events and undoing past drawing creation has some weird artifacts. Redo seems to consistently work, though.