| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
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 return Spans
* Split render fn to build Spans and blit to Surface
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* feat: add 'file-abs-path' to statusline (#4434)
* cleanup implementation
* rename to be non-abbreviated names
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Avoid cloning the whole paragraph content just for rendering
* Fix tests
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
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
* chore: better readability with `Option::take()`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
|
| |
`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>
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
| |
|
|
|
| |
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
|
| |
|
|
|
| |
Use crossterm cursor in the editor when the terminal is out of focus to achieve consistent out-of-focus cursor behaviour
|
|
|
|
|
|
|
|
|
| |
* Revert "Revert "Fix precedence of ui.virtual.whitespace (#8750)""
This reverts commit 811d62d3b3699efb7b7ceb362f537979e5911871.
* Fix ui.text overwriting the syntax highlighting
Adjust ui.text description
|
|
|
|
| |
This reverts commit 41b307b673a34183123585d63746cb756c1779ed.
|
| |
|
| |
|
| |
|
|
|
|
| |
enabled (#8551)
|
| |
|
|
|
|
|
| |
* Style Bold/Italic/Strikthrough markdown in docs
* Flatten to single match
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* transition to nucleo for fuzzy matching
* drop flakey test case
since the picker streams in results now any test that relies
on the picker containing results is potentially flakely
* use crates.io version of nucleo
* Fix typo in commands.rs
Co-authored-by: Skyler Hawthorne <skyler@dead10ck.com>
---------
Co-authored-by: Skyler Hawthorne <skyler@dead10ck.com>
|
|
|
|
|
|
|
| |
* fix: line numbers remain relative when helix loses focus
If `line number = relative` and a new window is opened in helix, lines inside unfocused windows will be `absolute`. This commit adds the same thing when helix becomes unfocused in a terminal emulator.
* partial rebase
|
|
|
|
| |
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
|
| |
|
| |
|
|
|
|
| |
this way the preview always shows the selection even if lines were
wrapped
|