Lionel Flandrin
b56174d738
Implement change_current_directory command
3 years ago
Blaž Hrastnik
20f33ead67
minor: Remove old TODOs
3 years ago
wojciechkepka
b2804b14b1
Add a `Spinner`
3 years ago
wojciechkepka
a2db161d5a
Add theme completer
3 years ago
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`
3 years ago
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.
3 years ago
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.
3 years ago
Kevin Sjöberg
b20e4a108c
Only enforce limit outside of .git
3 years ago
Kevin Sjöberg
08f50310bd
Bump file picker limit
3 years ago
Blaž Hrastnik
51d1d43289
Double the UI picker file limit.
4 years ago
Blaž Hrastnik
f0712479cb
Define text color (mostly) in theme.toml.
4 years ago
Blaž Hrastnik
ff84c8e394
Command mode: Per command completers.
4 years ago
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.
4 years ago
Blaž Hrastnik
811f952a41
Center search results.
4 years ago
Blaž Hrastnik
cc058ad78f
Simplify some code.
4 years ago
Blaž Hrastnik
0dbd5b61ef
Simplify code by providin cx.current() = (view, doc).
4 years ago
Blaž Hrastnik
ceea5eacd8
clippy lint
4 years ago
Blaž Hrastnik
6c4093c946
Weave through view_id references so that views into one file have independent selects.
4 years ago
Blaž Hrastnik
e833d65b77
Teach file picker how to find the project root (.git).
4 years ago
Blaž Hrastnik
742b3a709f
Store intra-files jumps (goto) on the jumplist.
4 years ago
Blaž Hrastnik
5c2d2fda21
Wire up opening in splits via pickers.
4 years ago
Blaž Hrastnik
a24c3fff54
Filter the completion menu based on text entered.
4 years ago
Blaž Hrastnik
915fd9ebaf
Restore buffer_picker.
4 years ago
Blaž Hrastnik
8a0ab447ec
editor.open can now either replace the current view or open in a split.
4 years ago
Blaž Hrastnik
8328fe926d
Drop refcell use, make view simply ref doc.id.
4 years ago
Blaž Hrastnik
bf95ee27aa
Store Document on the Editor type, make View reference it.
4 years ago
Blaž Hrastnik
698e4ddea4
clippy: Factor out a Completion type.
4 years ago
Blaž Hrastnik
a32806b490
Improve completion: src/<tab> will now correctly complete to src/main.rs
4 years ago
Blaž Hrastnik
c331721565
Finish hiding doc.state / State as an implementation detail.
4 years ago
Blaž Hrastnik
51c15da3c3
Hold a reference to executor on the Editor type.
4 years ago
Blaž Hrastnik
1d42b95915
ui: wip: Markdown doc renderer.
4 years ago
Blaž Hrastnik
4c6611f96b
commands: Stop select_regex from breaking when no matches.
4 years ago
Blaž Hrastnik
bd0f6c1dfc
clippy lint
4 years ago
Blaž Hrastnik
0b85c16be9
ui: Share popup code with menu.
...
Menu is now just wrapped in a popup.
4 years ago
Blaž Hrastnik
857bce0e30
ui: Rework command mode, implement file path completion.
4 years ago
Blaž Hrastnik
7162632eb7
lsp: Hover documentation draft.
4 years ago
Blaž Hrastnik
83d48f10ea
search: Barebones implementation.
4 years ago
Blaž Hrastnik
d4b85ce18d
popup: wip work on completion popups
4 years ago
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.
4 years ago
Blaž Hrastnik
2bea5db7bd
commands: Implement select_on_matches.
4 years ago
Blaž Hrastnik
05c7fb98df
Refactoring: move language_servers into Editor, proper load for doc.
4 years ago
Blaž Hrastnik
47e282804d
buffer picker: Mark current view with (*)
4 years ago
Blaž Hrastnik
3d3295bb75
ui: buffer picker on ctrl-b
4 years ago
Blaž Hrastnik
25aa45e76c
picker: Factor out file picker, we want to reuse code for other pickers.
4 years ago
Blaž Hrastnik
7c75ec04e8
File picker mockup, reuses the line editor work done on Prompt.
4 years ago
Blaž Hrastnik
8f0b28aeb8
Make the select prompt interactive.
4 years ago
Blaž Hrastnik
7dc24a25ba
Move ui modules under a ui:: namespace.
4 years ago