Joe Neeman
fd1ae35051
Make the prompt callback take a Context.
2021-06-23 10:03:11 +09:00
Lionel Flandrin
b56174d738
Implement change_current_directory command
2021-06-22 19:20:51 -04:00
Blaž Hrastnik
20f33ead67
minor: Remove old TODOs
2021-06-22 23:26:34 +09:00
wojciechkepka
b2804b14b1
Add a Spinner
2021-06-21 12:59:06 +09:00
wojciechkepka
a2db161d5a
Add theme completer
2021-06-20 00:07:13 +09:00
Wojciech Kępka
41b07486ad
Fix expansion of ~
( #284 )
...
* Fix expansion of `~`, dont use directory relative to cwd.
* Add `expand_tilde`
* Bring back `canonicalize_path`, use `expand_tilde` to `normalize`
* Make `:open ~` completion work
* Fix clippy
* Fold home dir into tilde in Document `realitve_path`
2021-06-18 15:19:34 +09:00
Benoît CORTIER
8664d70e73
Replace Editor::current
by a macro
...
This is necessary to workaround ownership issues across function calls.
The issue notably arised when implementing the registers into `Editor`
and I was getting annoyed again when implementing copy/pasting into
system clipboard.
The problem is addressed by using macro calls instead of function calls.
There is no notable side effect.
2021-06-18 09:38:10 +09:00
Benoît CORTIER
6bdf609caa
Remove RwLock for registers
...
Registers are stored inside `Editor` and accessed without `RwLock`.
To work around ownership, I added a sister method to `Editor::current`:
`Editor::current_with_context`. I tried to modify `Editor::current`
directly but it's used at a lot of places so I reverted into this for
now at least.
2021-06-15 23:01:56 +08:00
Kevin Sjöberg
b20e4a108c
Only enforce limit outside of .git
2021-06-09 10:06:31 +09:00
Kevin Sjöberg
08f50310bd
Bump file picker limit
2021-06-08 09:51:50 +09:00
Blaž Hrastnik
51d1d43289
Double the UI picker file limit.
2021-05-18 17:53:58 +09:00
Blaž Hrastnik
f0712479cb
Define text color (mostly) in theme.toml.
2021-05-07 17:42:09 +09:00
Blaž Hrastnik
ff84c8e394
Command mode: Per command completers.
2021-05-07 17:19:45 +09:00
Blaž Hrastnik
3e5f24a9d5
lsp: support both utf-8 and utf-16 offsets.
...
Still need to implement the clangd encoding negotiation, but it's
a start. Should also manually override to utf8 for pyls.
2021-04-14 15:39:31 +09:00
Blaž Hrastnik
811f952a41
Center search results.
2021-04-14 15:39:31 +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
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
e833d65b77
Teach file picker how to find the project root (.git).
2021-03-30 10:14:50 +09:00
Blaž Hrastnik
742b3a709f
Store intra-files jumps (goto) on the jumplist.
2021-03-29 16:32:42 +09:00
Blaž Hrastnik
5c2d2fda21
Wire up opening in splits via pickers.
2021-03-29 15:21:48 +09:00
Blaž Hrastnik
a24c3fff54
Filter the completion menu based on text entered.
2021-03-27 12:08:44 +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
bf95ee27aa
Store Document on the Editor type, make View reference it.
2021-03-22 13:53:43 +09:00
Blaž Hrastnik
698e4ddea4
clippy: Factor out a Completion type.
2021-03-22 13:16:56 +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
c331721565
Finish hiding doc.state / State as an implementation detail.
2021-03-18 15:07:02 +09:00
Blaž Hrastnik
51c15da3c3
Hold a reference to executor on the Editor type.
2021-03-16 23:14:51 +09:00
Blaž Hrastnik
1d42b95915
ui: wip: Markdown doc renderer.
2021-03-05 16:07:46 +09:00
Blaž Hrastnik
4c6611f96b
commands: Stop select_regex from breaking when no matches.
2021-03-03 17:55:56 +09:00
Blaž Hrastnik
bd0f6c1dfc
clippy lint
2021-03-02 18:29:15 +09:00
Blaž Hrastnik
0b85c16be9
ui: Share popup code with menu.
...
Menu is now just wrapped in a popup.
2021-03-02 18:24:24 +09:00
Blaž Hrastnik
857bce0e30
ui: Rework command mode, implement file path completion.
2021-03-01 18:02:31 +09:00
Blaž Hrastnik
7162632eb7
lsp: Hover documentation draft.
2021-02-25 18:07:47 +09:00
Blaž Hrastnik
83d48f10ea
search: Barebones implementation.
2021-02-12 18:10:05 +09:00
Blaž Hrastnik
d4b85ce18d
popup: wip work on completion popups
2021-02-09 15:40:47 +09:00
Blaž Hrastnik
448c1abba0
View tree implementation: render multiple split views.
...
Cursors are still a bit buggy and we should render in focus statusbar
differently than in the other pane.
2021-02-03 19:36:54 +09:00
Blaž Hrastnik
2bea5db7bd
commands: Implement select_on_matches.
2021-01-22 17:13:14 +09:00
Blaž Hrastnik
05c7fb98df
Refactoring: move language_servers into Editor, proper load for doc.
2021-01-21 16:55:46 +09:00
Blaž Hrastnik
47e282804d
buffer picker: Mark current view with (*)
2020-12-21 17:58:54 +09:00
Blaž Hrastnik
3d3295bb75
ui: buffer picker on ctrl-b
2020-12-21 16:26:22 +09:00
Blaž Hrastnik
25aa45e76c
picker: Factor out file picker, we want to reuse code for other pickers.
2020-12-18 19:19:50 +09:00
Blaž Hrastnik
7c75ec04e8
File picker mockup, reuses the line editor work done on Prompt.
2020-12-17 18:08:16 +09:00
Blaž Hrastnik
8f0b28aeb8
Make the select prompt interactive.
2020-12-15 19:29:56 +09:00
Blaž Hrastnik
7dc24a25ba
Move ui modules under a ui:: namespace.
2020-12-13 13:44:51 +09:00