Commit Graph

296 Commits (f00cb15137fdff72c2f08c4c6f43bfa96933433f)

Author SHA1 Message Date
Blaž Hrastnik 7c44443994 Handle c-n, c-p, etc. autocompletion events. 2021-04-06 15:34:52 +09:00
Blaž Hrastnik 95d0bba81a ui: Improve completion state handling. 2021-04-05 18:23:37 +09:00
Blaž Hrastnik 59a0fc7b59 w, b, e: Match kakoune's behavior in selecting by default.
I initially preferred only moving the cursor, but selecting the whole
word is a lot nicer for things like wd (instead of vwd).
2021-04-05 16:35:04 +09:00
Blaž Hrastnik ab1d11088f Import some lsp utilities. 2021-04-01 11:43:34 +09:00
Blaž Hrastnik 77cab5a715 Merge open_above and open_below definitions. 2021-04-01 11:36:59 +09:00
Blaž Hrastnik cc058ad78f Simplify some code. 2021-04-01 11:04:25 +09:00
Blaž Hrastnik 0dbd5b61ef Simplify code by providin cx.current() = (view, doc). 2021-04-01 11:01:26 +09:00
Blaž Hrastnik ceea5eacd8 clippy lint 2021-03-31 23:42:16 +09:00
Blaž Hrastnik 7dfd7f51a0 Implement space-v as view same file in split. 2021-03-31 18:00:53 +09:00
Blaž Hrastnik 6c4093c946 Weave through view_id references so that views into one file have independent selects. 2021-03-31 17:17:01 +09:00
Blaž Hrastnik dfc17becd5 Move pickers under my leader key mode (space). 2021-03-30 18:38:26 +09:00
Blaž Hrastnik e166da2ab0 fix: A (append to line) was inserting before last char. 2021-03-30 18:31:56 +09:00
Blaž Hrastnik 1b5316ea74 Track document modified state. 2021-03-30 18:23:12 +09:00
Blaž Hrastnik 88bb7a1f38 Repeat insert command (.). 2021-03-30 18:19:27 +09:00
Blaž Hrastnik ebfd67ac6a Use StreamExt::select_next_some to avoid infinitely spinning on empty stream. 2021-03-30 16:39:24 +09:00
Blaž Hrastnik e833d65b77 Teach file picker how to find the project root (.git). 2021-03-30 10:14:50 +09:00
Blaž Hrastnik 8098e9bdcd Allow setting a status message. 2021-03-29 16:47:02 +09:00
Blaž Hrastnik 742b3a709f Store intra-files jumps (goto) on the jumplist. 2021-03-29 16:32:42 +09:00
Blaž Hrastnik 0083a6c325 commands: Simplify _goto. 2021-03-29 15:44:03 +09:00
Blaž Hrastnik ea407ccdba Implement <n>g as goto line n. 2021-03-29 15:29:03 +09:00
Blaž Hrastnik 5c2d2fda21 Wire up opening in splits via pickers. 2021-03-29 15:21:48 +09:00
Blaž Hrastnik aefafc25cd Replace Mode::Goto with just using on_next_key. 2021-03-29 15:04:29 +09:00
Blaž Hrastnik a24c3fff54 Filter the completion menu based on text entered. 2021-03-27 12:08:44 +09:00
Blaž Hrastnik 2a3910c1d9 wip: Async async. Delay response handling with a callback. 2021-03-26 17:12:45 +09:00
Blaž Hrastnik ad3325db8e minor: Remove a few unwraps. 2021-03-26 11:03:14 +09:00
Blaž Hrastnik e3c4edae32 Add the machinery to load syntax config from TOML.
It's embedded into the binary at build time for now, but it's progress.
2021-03-25 15:26:25 +09:00
Blaž Hrastnik 9a36d2c2a8 wip: Hooks & trigger characters for completion/signature_help. 2021-03-24 18:17:00 +09:00
Blaž Hrastnik 350081a3af Fix crash if pressing enter when nothing selected in completion. 2021-03-24 18:15:42 +09:00
Blaž Hrastnik 8657c57cf2 Trivial jumplist implementation. 2021-03-24 18:01:26 +09:00
Blaž Hrastnik 915fd9ebaf Restore buffer_picker. 2021-03-24 16:26:53 +09:00
Blaž Hrastnik 8a0ab447ec editor.open can now either replace the current view or open in a split. 2021-03-24 14:28:26 +09:00
Blaž Hrastnik 8328fe926d Drop refcell use, make view simply ref doc.id. 2021-03-23 18:14:35 +09:00
Blaž Hrastnik 3f9a94fd43 ui: markdown: remove trailing blank line. 2021-03-22 23:23:51 +09:00
Blaž Hrastnik d0530fb839 Fix a scrolling crash where it would jump past the end of the buffer. 2021-03-22 18:06:52 +09:00
Blaž Hrastnik 73c92a0bc1 Implement m / match_brackets (using tree sitter). 2021-03-22 17:58:49 +09:00
Blaž Hrastnik df306fe031 Implement open_above (O). 2021-03-22 13:53:43 +09:00
Blaž Hrastnik 42d07b0621 Implement replace command (r<key>). 2021-03-22 13:53:43 +09:00
Blaž Hrastnik bf95ee27aa Store Document on the Editor type, make View reference it. 2021-03-22 13:53:43 +09:00
Blaž Hrastnik 5e6716c89c Add tab_width and indent_unit config. 2021-03-22 13:53:36 +09:00
Blaž Hrastnik 698e4ddea4 clippy: Factor out a Completion type. 2021-03-22 13:16:56 +09:00
Blaž Hrastnik cbcacb1063 Merge some imports. 2021-03-22 12:40:07 +09:00
Blaž Hrastnik c4792efead clippy lints 2021-03-22 12:29:55 +09:00
Blaž Hrastnik 71999cce43 Implement auto-pairs behavior for open and close. 2021-03-22 12:22:33 +09:00
Blaž Hrastnik a32806b490 Improve completion: src/<tab> will now correctly complete to src/main.rs 2021-03-21 14:13:49 +09:00
Blaž Hrastnik f29f01858d Implement iter() and len() directly on Selection. 2021-03-19 11:14:13 +09:00
Blaž Hrastnik e9bd9e72c3 Pos conversions always operate on whole documents. 2021-03-18 15:23:42 +09:00
Blaž Hrastnik 175d38c88c toggle_comments needs to append to history. 2021-03-18 15:20:28 +09:00
Blaž Hrastnik c331721565 Finish hiding doc.state / State as an implementation detail. 2021-03-18 15:07:02 +09:00
Blaž Hrastnik 8ba1e15d29 Expose doc.syntax() via accessor. 2021-03-18 14:53:29 +09:00
Blaž Hrastnik e261f3c50d Expose doc.language_server as an accessor. 2021-03-18 14:40:22 +09:00