Previously `gf` on `~/.config/helix` for example would error if the
entire path was selected but succeed and open a picker for the directory
contents if the selection was one one-width cursor. We need to expand
tildes for all paths instead of just the auto-detected paths.
This also refactors the `goto_file` blocks a little so that we construct
`paths` once instead of creating the Vec and immediately clearing it
when the selection is one single-width cursor.
* Add changes before insert mode undo
Fixes#11077
* Address edge cases for undo like Kakoune does
---------
Co-authored-by: Kaniel Kirby <pirate7007@runbox.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* refactor `starting_request_args` to only `ref` non-`Copy`
* refactor `needs_recompile` to only `ref` non-`Copy`
* refactor `add_workspace_folder` to only `ref` `Some`
---------
Co-authored-by: Rudxain <rudxain@localhost.localdomain>
This fix allows for multiple language servers at once which support
workspace commands. This was previously broken as just the first
language server supporting workspace commands was queried when listing
allowed worspace commands.
The fix is in two parts. Firstly, querying all workspace commands from
all language servers available and using them when actually running the
command in `lsp_workspace_command`. Secondly, doing the same in
`completers::lsp_workspace_command` such that completion still works as
expected.
The fix has one remaining issue, which I am unsure how to handle in the
best way possible, but which I also don't think should happen often:
Multiple language servers may register commands with the same name. This
will lead to that command being listed in the popup menu and in the
completion list multiple times, which can be possibly confusing. One
could disambigue them in the popover menu, but I am not sure the same
can be done for completion. When running `lsp-workspace-command` with
parameters, this behavior is "fixed" by displaying an error in that
case. I am unsure if this is the best fix for this issue in that case,
but could not find a better one.
Without providing the formatting capability, the language server might not advertise its ability to format in return, causing the :format command to be broken.
Saving while in insert mode causes issues with the modification
indicator and this is very easy to reproduce with the current state of
the auto-save hook. We can tweak the hook slightly to await the mode
switch out of insert mode to perform the save.
The debounce is preserved: if you save and then immediately exit insert
mode the debounce will be respected. If the debounce lapses while you
are in insert mode, the save occurs as you switch out of insert mode
immediately.
* gruvbox refactoring
* removed unnecessary lines
* set purple1 for operators
* changed diagnostics colors
* removed some unnecessary lines
* set diff.delta color to yellow
* removed some tag colors
* Add new color theme 'iroaseta'
* Update runtime/themes/iroaseta.toml
Co-authored-by: postsolar <120750161+postsolar@users.noreply.github.com>
* Update iroaseta.toml
Add virtual jump label theme setting
* Update runtime/themes/iroaseta.toml
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Update iroaseta.toml
update storage. keyword.storage. according to suggestion, and update color.
* Update iroaseta.toml
remove unused palette
* Update iroaseta.toml
add missing setting for bufferline
* Update iroaseta.toml
update diagnostic fg color
* Update iroaseta.toml
I made the config more comprehensive and took all available themes settings from the manual. Some are commented out though.
* Update iroaseta.toml
add missing colors
* Update iroaseta.toml
Made some final adjustments to the color theme to improve visibility and reduce eye strain.
* Update runtime/themes/iroaseta.toml
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Update runtime/themes/iroaseta.toml
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Update iroaseta.toml
remove redundant settings
* Update iroaseta.toml
update color name
---------
Co-authored-by: postsolar <120750161+postsolar@users.noreply.github.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>