Commit graph

98 commits

Author SHA1 Message Date
Blaž Hrastnik
239db79834 Finally: Retain horizontal position when moving vertically. 2021-02-12 16:49:24 +09:00
Blaž Hrastnik
a924ad2885 simplify. 2021-02-05 16:06:48 +09:00
Blaž Hrastnik
2bea5db7bd commands: Implement select_on_matches. 2021-01-22 17:13:14 +09:00
Blaž Hrastnik
7c99ff58fd nix: include rust-src so rust-analyzer works correctly. 2021-01-19 16:16:15 +09:00
Blaž Hrastnik
22e1692adc indent: Fix edge cases, refactor test. 2021-01-10 23:46:18 +09:00
Blaž Hrastnik
777a80917d Address clippy lints. 2021-01-08 16:37:36 +09:00
Blaž Hrastnik
7d41550a23 indent: refactor logic to be more correct.
Thanks to atom-sane-indentation, nvim-treesitter and tree-sitter-indent.el
for inspiration.
2021-01-08 16:15:12 +09:00
Blaž Hrastnik
a7869c728c wip 2020-12-03 13:12:07 +09:00
Blaž Hrastnik
cc6bdf8f66 Text change generation, RPC call handling. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik
f5981f72c2 Introduce Selection::point. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik
efc5aa2016 Simplify old_state handling. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik
c0e17dd324 Fix undo/redo not updating the syntax tree. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik
b39849dde1 Refactor: Document type as a wrapper around barebones State. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik
ef5e5f9296 state.version tracking 2020-12-03 13:10:34 +09:00
Blaž Hrastnik
49254d7180 Total mess but it works: diagnostic marking. 2020-12-03 13:10:34 +09:00
Blaž Hrastnik
f9bfba4d96 Reroute LSP notification events into the main app event loop. 2020-12-03 13:10:32 +09:00
Blaž Hrastnik
64b5b23315 Move theme from view to editor, support multiple views in editor. 2020-12-03 13:07:55 +09:00
Blaž Hrastnik
bc2c652fe8 Bugfix 2020-10-16 16:58:26 +09:00
Jan Hrastnik
7d58378374 added move left&right, delete char 2020-10-16 12:01:21 +09:00
Jan Hrastnik
ed03ec92a8 moved prompt command matching to prompt.rs 2020-10-16 12:00:28 +09:00
Jan Hrastnik
0c0c2c7103 modified editor.render() to prepare for command mode rendering 2020-10-16 11:53:31 +09:00
Blaž Hrastnik
16828d322a wip 2020-10-15 23:31:37 +09:00
Blaž Hrastnik
6e658aae1c Auto-indent on enter based on tree-sitter scopes. 2020-10-14 18:07:42 +09:00
Blaž Hrastnik
d64f4beede Share tab width definitions. 2020-10-14 13:35:54 +09:00
Blaž Hrastnik
0b74d423d0 Validate compose len after applying a is same as before applying b. 2020-10-14 13:35:54 +09:00
Blaž Hrastnik
7fcc6f8f1b Fix overlapping (insert | delete) compose 2020-10-14 11:48:01 +09:00
Blaž Hrastnik
94f9603c74 Fix compose not merging certain changesets correctly. 2020-10-14 09:38:52 +09:00
Blaž Hrastnik
00e661f600 Indent draft, linewise paste 2020-10-13 23:13:56 +09:00
Blaž Hrastnik
4a648555ed Don't try to compose zero-width deletes. 2020-10-13 23:13:56 +09:00
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
04b1546634 history.redo() 2020-10-13 23:13:56 +09:00
Blaž Hrastnik
8c7bc71ede Split on matches off by one, breaks tests again. 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
5392b48268 Drop Coords. 2020-10-07 13:59:19 +09:00
Jan Hrastnik
038201647c started work on goto mode 2020-10-04 23:47:37 +02: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
5945815d97 Fix cursor rendering & placement on append mode. 2020-10-01 18:44:12 +09:00
Blaž Hrastnik
e39bd211d1 argh -> clap to speed up compilation (no syn/proc_macro) 2020-10-01 12:25:03 +09:00
Blaž Hrastnik
592c5b0af2 Fix test, break split + append 2020-09-29 18:13:19 +09:00
Blaž Hrastnik
3feb00283d clippy warnings 2020-09-29 18:07:05 +09:00
Blaž Hrastnik
1bb01d27ae Simplify line ending calculation. 2020-09-29 17:49:19 +09:00
Blaž Hrastnik
13d1ea542e Clamp character movement to line. 2020-09-29 01:11:17 +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
e0785aabe7 Move-by-word commands: w, b, e. 2020-09-24 19:16:35 +09:00