Commit Graph

6341 Commits (cd6584f0ab1b0b437851f8bc685255934abe4620)

Author SHA1 Message Date
Nikita Revenco cd6584f0ab chore: appease clippy 2025-02-18 12:20:37 +00:00
Nikita Revenco baddacfe20 docs: add file explorer keymap info 2025-02-18 12:19:20 +00:00
Nikita Revenco 382803c803 feat: add confirmation prompt when overwriting 2025-02-18 12:15:35 +00:00
Nikita Revenco e177c48208 refactor: use Option<Result> to indicate if a status message should not be changed 2025-02-18 11:42:03 +00:00
Nikita Revenco a099ae1dbe style: formatting 2025-02-18 11:33:01 +00:00
Nikita Revenco eafd8ace18 style: formatting 2025-02-18 11:28:30 +00:00
Nikita Revenco eecabdbeb5 feat: pass context to all callbacks in file operations 2025-02-18 11:16:15 +00:00
Nikita Revenco 7fd7b7274a feat: implement copy path of selected item 2025-02-18 11:11:02 +00:00
Nikita Revenco b3d0f16276 feat: use display method on paths 2025-02-18 10:48:38 +00:00
Nikita Revenco 835cda11f1 refactor: variable renaming 2025-02-18 10:27:58 +00:00
Nikita Revenco a96841dac1 feat: implement copying 2025-02-17 23:54:37 +00:00
Nikita Revenco 469115e5ee feat: implement delete files 2025-02-17 23:46:04 +00:00
Nikita Revenco f59c5966f6 feat: implement creating new files and directory 2025-02-17 23:37:58 +00:00
Nikita Revenco 2eef82e4df feat: implement basic callback functions for prompt operarions 2025-02-17 23:08:17 +00:00
Nikita Revenco 7dc631de9a chore: allow macro to destructure 2025-02-17 22:24:13 +00:00
Nikita Revenco 43f40d318f chore: add TODO comments 2025-02-17 22:08:31 +00:00
Nikita Revenco d5fb7b2999 refactor: improve the declare_key_handlers macro 2025-02-17 21:54:45 +00:00
Nikita Revenco 5d29a175f3 refactor: utility macro to declare multiple handlers with ease 2025-02-17 21:41:23 +00:00
Nikita Revenco 9a28d4fa42 feat: create operations for create, delete, copy, rename in file explorer 2025-02-17 21:22:51 +00:00
Nikita Revenco f4e5c26112 feat: figure out how to pass custom callback function set by keymap to picker 2025-02-17 21:09:04 +00:00
Nikita Revenco 87b5bd58bc feat: add API to register additional hooks with Pickrs 2025-02-17 20:53:14 +00:00
Nikita Revenco 1b89f998e8
fix: Rust highlights (regression from the reverse-query-precedence PR) (#12795)
Co-authored-by: Nikita Revenco <154856872+NikitaRevenco@users.noreply.github.com>
2025-02-07 08:51:22 -06:00
Jonas Köhnen c36ed6ad92
feat(themes): add `ui.text.directory` to gruber-darker (#12797) 2025-02-06 09:31:36 -06:00
Michael Davis 18b9eb9e06
Update tree-sitter-erlang
This is for packaging reasons, previously the license identifier in
`package.json` accidentally listed MIT instead of Apache-2.0
2025-02-05 20:22:38 -05:00
Gabriel Dinner-David b0e1eaf50d
reverse zig highlights (#12777) 2025-02-04 20:38:15 -06:00
Drew Zemke a36730cb21
add support for the FGA language (#12763) 2025-02-04 11:06:22 -06:00
uncenter 75abc23428
Add Tera templating language support (#12756) 2025-02-04 10:56:36 -06:00
Michael Davis 313a6479b1
LSP: Properly discard out-of-date diagnostics
Previously the `filter` caused the diagnostics to not be attached to the
document - which is good - but the out-of-date diagnostics were still
inserted into the global (editor-wide) diagnostic set. Instead we should
completely discard out-of-date diagnostics.
2025-02-04 10:39:49 -05:00
Michael Davis 62625eda46
LSP: Move diagnostic handling from Application to Editor
There is no functional change to the move - it's just moving the code
into helix-view under a new method `Editor::handle_lsp_diagnostics` -
thought there is a typo fix, the removal of an unnecessary clone (for
the document's language config) and the removal of some nesting.

Co-authored-by: Sofus Addington <sofus@addington.dk>
2025-02-04 10:39:42 -05:00
Michael Davis 16ff06370f
queries: Remove `(ERROR)` from all highlights
We do not highlight `(ERROR)` nodes since the highlighting is quite
noisy while typing. Also see todo comments in `syntax.rs` - we could
introduce configuration in the future to prepend `(ERROR)` to a
language's highlights query.
2025-02-04 09:35:38 -05:00
Robin Heggelund Hansen ee33a84489
Update highlights.scm for Gren language (#12769) 2025-02-04 08:34:59 -06:00
Niklas Wallgren 1258111394
Print full error chain when failing to load grammar (#12744) 2025-02-04 08:18:54 -06:00
Michael Davis 26db54155e
DAP: Drain pending requests on recv failure
This matches <https://redirect.github.com/helix-editor/helix/pull/4852>
for the DAP transport: when there is a failure to receive a message from
the debugger we should drain all pending requests and respond to them
with the StreamClosed error.

This improves the behavior when a debugger fails to initialize, for
example starting debugpy without debugpy installed. Previously the UI
would freeze until the request timed out. Now it instantly prints a
statusline error saying that the debugger failed to start up.
2025-02-04 09:09:54 -05:00
Michael Davis d456377821
minor: Remove double BufReader wrapper in DAP client
`reader` is already a `BufReader` so there's no need to wrap it in
another `BufReader`. This is a typo/mistake made possible by the type
erasure (a `Box<BufReader<BufReader<T: Read>>>` is also a boxed reader).
2025-02-04 08:52:09 -05:00
Michael Davis d0d16931e3
DAP: Configure child process stderr as piped
By default this is `Stdio::inherit` which sends stderr from the child
process to Helix. Instead we should use `Stdio::piped` which allows us
to read the piped output.

We can also expect that the stderr opens now (it should similarly to
stdout), so that we always start a reader for stderr like the LSP
client.
2025-02-04 08:51:46 -05:00
dependabot[bot] 8995ccaae2
build(deps): bump the rust-dependencies group with 4 updates (#12766)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 17:37:46 -06:00
Michael Davis 066e938ba0
Add `copy_between_registers` for interactive register copying 2025-02-02 20:49:25 -05:00
Michael Davis e882a750ea
commands: Eagerly clear autoinfo in select_register, insert_register
This causes the infobox to disappear even when you type a non-character
key like escape. For example `"<esc>` now clears the infobox where
before it was left hanging.
2025-02-02 20:45:25 -05:00
Michael Davis ebdab86ce6
minor: Prefer stable `core::num::abs_diff` to polyfill
This function was made stable in Rust 1.60.0 so we no longer need to
polyfill.
2025-02-02 20:42:55 -05:00
jack ab6a92ed49
update(theme): add virtual-inlay hint highlight to snazzy theme (#11089) 2025-02-02 19:02:48 -06:00
Viktor Szépe e22bbf5489
Fix typos (#12690) 2025-02-02 18:58:29 -06:00
Leo Unglaub 0ab403d428
Add block comment configuration for PHP 2025-02-02 19:37:13 -05:00
Michael Davis b8bfc44e42
queries: Improve Rust const generic and '_' type highlighting
You may pass constants as type arguments the const generics feature.
This is used in spellbook for example as a poor man's enum, for example
`self.strip_suffix_only::<FULL_WORD>(word, hidden_homonym)`. With this
change that `FULL_WORD` part is highlighted as a constant instead of
a type.

This change also highlight the underscore in type placeholders - this
is similar to the highlighting done for bindings in Elixir or Erlang
for example. In `Vec<_>` the underscore is highlighted the same as a
comment.
2025-02-02 19:28:01 -05:00
Michael Davis 5952d564d1
Reverse highlight precedence ordering (#9458)
Co-authored-by: postsolar <120750161+postsolar@users.noreply.github.com>
Co-authored-by: Iorvethe <58810330+Iorvethe@users.noreply.github.com>
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
Co-authored-by: gabydd <gabydinnerdavid@gmail.com>
2025-02-02 18:17:10 -06:00
Michael Davis 382401020c
queries: Add 'not-eq' and 'not-match' predicates to TSQ highlights 2025-02-02 18:39:07 -05:00
Michael Davis 93fa990e56
queries: Fix module/namespace highlight in Unison 2025-02-02 18:39:07 -05:00
Michael Davis 70d452db3e
core: Make completion item documentation optional
Path completion items always have documentation but future core (i.e.
non-LSP) completions may not always have documentation - for example
word completion from the current buffer.
2025-02-01 21:24:25 -05:00
Michael Davis 369f2bb93d
ui: Expose the 'prompt' module
The prompt Completion type alias is otherwise private. This will be
used in <https://redirect.github.com/helix-editor/helix/pull/12527>
to refactor some functions to return prompt completions.
2025-02-01 21:12:20 -05:00
Doug Kelkhoff 0f594c35f2
feat(lang:r): Add roxygen header comment token (#12748) 2025-02-01 19:44:07 -06:00
Remo Senekowitsch de11273857
Document installation of rust-analyzer via rustup (#12618) 2025-02-01 19:43:20 -06:00