aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/ui
Commit message (Collapse)AuthorAge
* Fix writes from insert mode not properly updating the revision historyJJ2024-05-01
| | | | | | ref: https://github.com/helix-editor/helix/issues/3501 ref: https://github.com/helix-editor/helix/issues/6513 ref: https://github.com/helix-editor/helix/pull/7226
* Add file explorer and tree helperwongjiahau2024-05-01
| | | | | | | | | | | ref: https://github.com/helix-editor/helix/issues/200 ref: https://github.com/helix-editor/helix/pull/2377 ref: https://github.com/helix-editor/helix/pull/5566 ref: https://github.com/helix-editor/helix/pull/5768 Co-authored-by: cossonleo <cossonleo@foxmail.com> Co-authored-by: JJ <git@toki.la> Co-authored-by: Quan Tong <quantonganh@gmail.com>
* Revert "helix-term: allow to backspace out-of the command prompt (#9828)" ↵Michael Davis2024-03-26
| | | | | | | | | (#10005) This reverts commit 0dc67ff8852ce99d40ad4464062ebe212b0b03a1. See the post-merge discussion in #9828. The old behavior was less surprising and we have other ways to abort from a prompt, so let's revert the behavior change.
* Fix regression in color-modesBlaž Hrastnik2024-03-26
| | | | Fixes #10006
* Add narrow no-break space support (#9604)Quentin2024-03-25
|
* dismiss pending keys properly for mouse/pastePascal Kuthe2024-03-23
|
* Evenly space statusline areas when there isn't space to align middle (#9950)Michael Davis2024-03-21
| | | | | | | | | | | The refactor in bcf7b263 introduced a possible subtraction with overflow when the statusline is layed out so that the left or right sides are larger than the padding it would take to align the center area to the middle. When the left or right areas are too large, we can evenly space the elements rather than trying to align the center area to the middle. This prevents possible underflows and makes sense visually - it's still easy to tell the areas apart at a glance.
* Refactor statusline elements to build `Spans` (#9122)Szabin2024-03-19
| | | | | * Refactor statusline elements to return Spans * Split render fn to build Spans and blit to Surface
* add register completion (#9936)Kirawi2024-03-19
|
* Optimize getting a relative pathmo8it2024-03-19
|
* add 'file-absolute-path' to statusline (#4535)Dan Cardamore2024-03-17
| | | | | | | | | | | * feat: add 'file-abs-path' to statusline (#4434) * cleanup implementation * rename to be non-abbreviated names --------- Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Handle starting and continuing the count separately (#9887)Michael Davis2024-03-15
|
* helix-term: allow to backspace out-of the command prompt (#9828)Markus F.X.J. Oberhumer2024-03-09
|
* Support LSP diagnostic tags (#9780)Michael Davis2024-03-02
|
* Avoid cloning the whole paragraph content just for rendering (#9739)Mo2024-02-27
| | | | | * Avoid cloning the whole paragraph content just for rendering * Fix tests
* switch to regex-cursor (#9422)Pascal Kuthe2024-02-26
|
* Optimization of tilde expansion (#9709)Mo2024-02-24
| | | | | | | | | | | | | | | | * Use next and avoid a redundant prefix strip * Avoid allocations Especially when `expand_tilde` is claled on a path that doesn't contain a tilde. * Add a test * Use Into<Cow<…>> * Put the expand_tilde test at the end of the file * Remove unused importsw
* Use a hook for resolving completion itemsMichael Davis2024-02-23
| | | | | | Previously we used the IdleTimeout event to trigger LSP `completion/resolveItem` requests. We can now refactor this to use an event system hook instead and lower the timeout.
* Make mouse click extend selection in select mode (#5436)Jonathan LEI2024-02-19
| | | | | * Make mouse click extend selection in select mode * chore: better readability with `Option::take()`
* Scroll cursor and page together (neovim-like scrolling) (#8015)AlexanderDickie2024-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * neovim like scroll function * clear line annotations outside of move_vertically/_visual * add nvim scroll function to commands * assign nvim-scroll to C-d and C-u (half page scrolls) * dont remove backspace and space mapping * move non-softwrap logic to seperate function, call this in nvim-scroll fn * Revert "move non-softwrap logic to seperate function, call this in nvim-scroll fn" This reverts commit e4905729c338a2260e6981f1d8fac022897b4191. * Revert "clear line annotations outside of move_vertically/_visual" This reverts commit 1df3fefe55afc840d1ab5094b2116d1127fc363f. * add TODO for when inline diagnostics gets merged * move nvim-scroll logic into scroll(), dont respect scrolloff * run cargo fmt * run cargo clippy * update documenation for Ctrl-d and Ctrl-u remap
* Allow numbers as second input event (#8471)Mehdi Abedi2024-02-14
| | | | | | | | | | | | | | | * Make sure pending key list is empty when count handling This will allow using numbers as second key event. * count handling; add an exception for 'g' * Lookup the key event before considering a number as count * Avoid the allocation of another vec for the pending keys --------- Co-authored-by: x <x@torrent>
* fix lsp config reload (#9415)kyfanc2024-02-13
| | | | | | | | `syn_loader` was replaced rather than interior value being replace, old value was still being referenced and not updated after `:config-refresh`. By using `ArcSwap` like for `config`, each `.load()` call will return the most updated value. Co-authored-by: kyfan <kyfan@email>
* Fix scroll track (#9508)ath32024-02-09
|
* Fix pulldown_cmark breaking changes to tag typesMichael Davis2024-02-07
| | | | | | | * Tags and TagEnd are now separate enums since <https://redirect.github.com/raphlinus/pulldown-cmark/pull/517>. * The `Tag::Heading` member has been changed from a tuple variant to a struct variant.
* fix division by zero when prompt completion area is too small (#9524)Diego2024-02-06
|
* refactor completion and signature help using hooksPascal Kuthe2024-01-23
|
* Add hook/event systemPascal Kuthe2024-01-23
|
* Create helix-stdx crate for stdlib extensionsMichael Davis2024-01-18
| | | | | | | | | | | | | helix-stdx is meant to carry extensions to the stdlib or low-level dependencies that are useful in all other crates. This commit starts with all of the path functions from helix-core and the CWD tracking that lived in helix-loader. The CWD tracking in helix-loader was previously unable to call the canonicalization functions in helix-core. Switching to our custom canonicalization code should make no noticeable difference though since `std::env::current_dir` returns a canonicalized path with symlinks resolved (at least on unix).
* Address clippy lints (#9371)Daniel Sedlak2024-01-17
|
* Initialize diagnostics when opening a document (#8873)Philipp Mildenberger2024-01-09
|
* update history of a newly focused view (#9271)Pascal Kuthe2024-01-09
|
* Support drawing popup frame (#4313)ath32023-12-19
| | | Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* fix(ui): use crossterm cursor when at the end of the rope (#8934)Hendrik Norkowski2023-11-28
|
* use crossterm cursor in editor when out of focus (#6858)Hendrik Norkowski2023-11-27
| | | Use crossterm cursor in the editor when the terminal is out of focus to achieve consistent out-of-focus cursor behaviour
* Fix precedence of ui.virtual.whitespace (#8879)chtenb2023-11-25
| | | | | | | | | * Revert "Revert "Fix precedence of ui.virtual.whitespace (#8750)"" This reverts commit 811d62d3b3699efb7b7ceb362f537979e5911871. * Fix ui.text overwriting the syntax highlighting Adjust ui.text description
* Revert "Fix precedence of ui.virtual.whitespace (#8750)"Blaž Hrastnik2023-11-22
| | | | This reverts commit 41b307b673a34183123585d63746cb756c1779ed.
* Fix precedence of ui.virtual.whitespace (#8750)chtenb2023-11-22
|
* Only render preview if picker has a preview function (#8667)Ryan Mehri2023-10-30
|
* Add helix-specific ignore files (#8099)Paul Olteanu2023-10-21
|
* fix(lsp): ensure we only highlight diagnostics for lsp with the feature ↵Yomain2023-10-17
| | | | enabled (#8551)
* markdown: Recognize `<code>` tags with attributes as code (#8397)Michael Davis2023-09-26
|
* Style Bold/Italic/Strikethrough markdown in docs (#8385)A-Walrus2023-09-25
| | | | | * Style Bold/Italic/Strikthrough markdown in docs * Flatten to single match
* correctly center items in picker previewPascal Kuthe2023-09-14
|
* fix crash in picker preview for invalid rangesPascal Kuthe2023-09-14
|
* fix syntax highlights in dynamic picker (#8206)Pascal Kuthe2023-09-09
|
* Fix Clone definition for Injector (#8194)Michael Davis2023-09-07
|
* Don't use word splitting during fuzzy matching (#8192)Pascal Kuthe2023-09-06
|
* Do not show (running) when opening picker (#8148)Pascal Kuthe2023-09-06
| | | | | | | | | | | * only stream from background thread if necessary If the file transversal is longer shorter 30ms it will now be performed on the main thread. Spawning a thread can take a while (or rather it takes a while until that thread is scheduled) so the files can actually take a while to show up. This prevents the `(running)` indicator from briefly showing up when opening the file picker in a small directory. * run partial cargo update
* avoid excessive memory consumption in picker (#8127)Pascal Kuthe2023-09-01
| | | | | | | | | | | * avoid excessive memory consumption from file picker * fix typos Co-authored-by: Chris <75008413+cd-a@users.noreply.github.com> --------- Co-authored-by: Chris <75008413+cd-a@users.noreply.github.com>
* Clear completion when switching windows via click (#8118)Michael Davis2023-08-31
| | | | | | | | | | | | | | | | | The completion component assumes that it operates on the same View but it's possible to break this assumption by switching windows through left-clicking. I believe we should clear the completion menu when switching windows to fix this. This change fixes a panic for this scenario: * Open a buffer with LSP completion available * Split the window (for example '<C-w>v') * Enter insert mode and trigger the completion menu * Select a completion candidate (for example with '<C-n>') * Switch to the original window by left-clicking in its area * Enter insert mode and make edits (for example 'o<backspace>') This will trip the 'assert_eq' in Document::restore.