Commit Graph

101 Commits (7983c71752e2443266ecc65581f3a980696cc294)

Author SHA1 Message Date
Blaž Hrastnik cad14c6b46 Address nightly clippy warnings 3 years ago
Wojciech Kępka eb6fb63e74
Sort files in file picker by access, modification and creation date (#336)
* Sort files in file picker by access date

* Fallback file time to modified then created then UNIX_EPOCH

* Use `sort_by_key`

* Refactor
3 years ago
Keith Simmons 4418e17547
reverse the dependency between helix-tui and helix-view (#366)
* reverse the dependency between helix-tui and helix-view by moving a fiew types to view

* fix tests

* clippy and format fixes

Co-authored-by: Keith Simmons <keithsim@microsoft.com>
3 years ago
Joe Neeman fd1ae35051 Make the prompt callback take a Context. 3 years ago
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