Commit Graph

30 Commits (490e23b645311fef86d8e8045f97f514927d2867)

Author SHA1 Message Date
Blaž Hrastnik 490e23b645 Simplify changeset tracking. 2020-10-13 23:13:56 +09:00
Blaž Hrastnik 8098279676 Cleanup 2020-10-13 23:13:56 +09:00
Blaž Hrastnik 1dba0f2b1c Simple yank/paste registers. 2020-10-13 23:13:56 +09:00
Blaž Hrastnik eba5b1ef33 Fix changeset composition, lengths don't have to match. 2020-10-13 23:13:56 +09:00
Blaž Hrastnik b765c17896 Hacky undo/redo integration. 2020-10-13 23:13:56 +09:00
Blaž Hrastnik fd311fb8ad Undo tree draft.
We keep a tree of transactions. This allows for persistent undo by
simply serializing the changesets.
2020-10-13 23:13:56 +09:00
Blaž Hrastnik 883b77bd24 Fix transaction.invert()/.apply() using byte counts instead of char counts. 2020-10-04 17:37:46 +09:00
Blaž Hrastnik aa077a07f3 Implement Transaction::invert. 2020-10-02 18:16:26 +09:00
Blaž Hrastnik 36e7e2133f Split selection on regex, fix InputEdit generation. 2020-09-29 01:01:27 +09:00
Blaž Hrastnik 3020077da8 Extend selection commands. 2020-09-29 01:00:35 +09:00
Blaž Hrastnik 48330ddb5f Command needs access to view information for certain changes. 2020-09-19 23:16:00 +09:00
Blaž Hrastnik 3859f6963d More work on the UI. 2020-09-19 11:58:08 +09:00
Blaž Hrastnik 088f8a82af Incremental parsing: rough draft. 2020-09-17 16:32:40 +09:00
Blaž Hrastnik 96db02742e Simplify some more code. 2020-09-13 23:40:11 +09:00
Blaž Hrastnik 0427acd18c Avoid collect() by accepting iterators into Transaction::change. 2020-09-13 23:12:14 +09:00
Blaž Hrastnik b08278807e Add 'A', 'I' commands. 2020-09-13 20:04:16 +09:00
Blaž Hrastnik fb0f56b747 Add 'o' command. 2020-09-13 19:51:42 +09:00
Blaž Hrastnik 22cb7b3338 Change -> Operation, Change2 -> Change 2020-09-13 19:18:05 +09:00
Blaž Hrastnik d86f0feafc Abstract Transaction::change from change_by_selection. 2020-09-13 15:48:15 +09:00
Blaž Hrastnik d466882d04 Abstract Transaction::change_by_selection, working del/backspace. 2020-09-13 11:32:37 +09:00
Blaž Hrastnik dd749bb284 Expand transaction API. 2020-09-07 17:08:28 +09:00
Blaž Hrastnik 8b3e152126 cleanup: Make Buffer just a part of State. 2020-09-07 11:28:52 +09:00
Blaž Hrastnik 579b6899f1 Work on insert mode. 2020-09-07 11:21:26 +09:00
Blaž Hrastnik 387fb57c94 Allow unused code for the time being. 2020-06-02 10:59:02 +09:00
Blaž Hrastnik 6905ff03c2 Start swapping from termwiz to crossterm + async. 2020-05-28 17:47:35 +09:00
Blaž Hrastnik 1984410ac9 Selection mapping over changesets. 2020-05-28 14:59:50 +09:00
Blaž Hrastnik e52e848fd7 changeset: Introduce map_pos. 2020-05-28 14:48:34 +09:00
Blaž Hrastnik b5c38812e9 address clippy warnings 2020-05-28 14:45:44 +09:00
Blaž Hrastnik 23109f1512 OT: changeset: Implement compose and apply. 2020-05-26 18:11:11 +09:00
Blaž Hrastnik 44ff4d3c1f Implement a new core based on CodeMirror. 2020-05-25 13:02:21 +09:00