Commit Graph

6843 Commits (67f5b7016914e20238a54decb718ac700c09cf5b)

Author SHA1 Message Date
Binh Tran ae0dd313bd
fix(highlights/ini): make consistency with toml (#13589) 2025-05-22 08:52:51 -05:00
Matthew Paras 04697d61f9
Merge pull request #26 from tobiaskohlbau/writeRegisters 2025-05-22 06:24:03 -07:00
Matthew Paras 9d88ce3a74
Merge pull request #28 from tobiaskohlbau/addressNixWarning 2025-05-21 22:34:32 -07:00
Matt Paras aada3b5e42 add ability to ignore the command and close the component 2025-05-21 16:07:42 -07:00
Tobias Kohlbau 6ec04107ca
apply suggested naming
Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
2025-05-21 17:29:13 +02:00
Jérôme Tamba 76029e5840
health: Use lsp name in output wherever possible (#13573)
Also match the DAP/Formatter output style to the LSP style
2025-05-21 09:38:16 -05:00
Matt Paras 67c5a2a99b add function to check for key event 2025-05-20 22:00:47 -07:00
Matt Paras 9f0501d060 when encountering an error in a dynamic component, pop off the stack with the error message 2025-05-20 20:58:24 -07:00
Matt Paras 39614b29b1 typo in theme-scope 2025-05-20 16:09:12 -07:00
Matt Paras 85bd47cd81 fix arity for ctx functions in components 2025-05-20 15:59:20 -07:00
Matt Paras 6de42353fd have docs properly generate on code-gen 2025-05-20 13:58:14 -07:00
Matthew Paras 9504a50755
Merge pull request #27 from tobiaskohlbau/fixTypo 2025-05-20 06:55:26 -07:00
dependabot[bot] 3a6c9747b8
build(deps): bump the rust-dependencies group with 3 updates (#13576)
Bumps the rust-dependencies group with 3 updates: [bitflags](https://github.com/bitflags/bitflags), [hashbrown](https://github.com/rust-lang/hashbrown) and [cc](https://github.com/rust-lang/cc-rs).


Updates `bitflags` from 2.9.0 to 2.9.1
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.9.0...2.9.1)

Updates `hashbrown` from 0.15.2 to 0.15.3
- [Release notes](https://github.com/rust-lang/hashbrown/releases)
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/hashbrown/commits/v0.15.3)

Updates `cc` from 1.2.22 to 1.2.23
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.22...cc-v1.2.23)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-version: 2.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: hashbrown
  dependency-version: 0.15.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: cc
  dependency-version: 1.2.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-20 21:03:55 +09:00
Tobias Kohlbau f249949598
address warning nix build
mkCargoDerivation warns about not using a hardcoded stdenv but isntead
providing a selector function. In addition the log output from cargo
should be captured into a special file.

Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
2025-05-20 11:01:38 +02:00
Tobias Kohlbau 3147f98258
fix typo in find-workspace
Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
2025-05-20 10:30:46 +02:00
Tobias Kohlbau 29226873c9
allow writing registers from steel
Allow writing into registers specified by it's character. This enables
for example writing into the system clipboard.

Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
2025-05-20 10:15:47 +02:00
Matt Paras f9d83ac52b remove some logging 2025-05-19 22:11:03 -07:00
Matt Paras d451258b28 insert unknown lsps on update 2025-05-19 22:10:41 -07:00
Matt Paras a2a97f1f8f properly handle lsp configs as well 2025-05-19 22:03:55 -07:00
Matt Paras d3fb156824 manually merge each field in the language config 2025-05-19 21:46:05 -07:00
Matt Paras 770d4d33ce refresh language configs for open docs after update 2025-05-19 20:49:30 -07:00
Matt Paras 39f7244b0f fix init file and set up language configs 2025-05-19 20:30:16 -07:00
Matt Paras 54b30330b4 clean up, don't error on bootup if the helix file is missing 2025-05-19 19:16:21 -07:00
Matt Paras c0bb7c29cd rename workspace function 2025-05-19 08:16:20 -07:00
Matt Paras 94927711b4 make sure docs don't show up for globals that aren't commands 2025-05-19 06:56:12 -07:00
Matt Paras e6b0badcd0 fix polluting the command palette with global steel functions 2025-05-18 19:30:44 -07:00
Matt Paras d04c95dc7f more docs 2025-05-17 22:27:59 -07:00
Matt Paras 64e4826782 more documentation 2025-05-17 22:02:51 -07:00
Matt Paras 56a083a222 more documentation of configuration 2025-05-17 18:32:41 -07:00
Matt Paras a48abb7b50 just kidding, actually finish documenting the component api 2025-05-17 13:00:34 -07:00
Matt Paras 3b534acbe3 finish documenting component api 2025-05-17 12:28:10 -07:00
Matt Paras 848f2e2e89 instrument proper components module, start documentation 2025-05-17 11:37:23 -07:00
Matt Paras 3f062fa3d0 bring rust version back in line 2025-05-17 08:42:02 -07:00
CalebLarsen ebf96bd469
Updated python/locals.scm to label `self` and `cls` as `variable.buitin` (#13552) 2025-05-17 09:43:21 -05:00
Michael Davis 5a1dcc2429
syntax: Reset query cursor byte range for textobjects
`InactiveQueryCursor::new` might reuse a query cursor from a
thread-local cache if one is available, rather than create a new cursor.
Currently tree-house does not reset cached cursors back to defaults
(i.e. byte range and match limit). For now we can patch around this here
but eventually this should be fixed in `tree-house` upstream. Then this
patch can be reverted.

In practice this caused textobjects like `]f` to get "stuck" trying to
move to the next function if it was out of the current view. This is
because the highlight query cursor sets the range of the cursor to the
current viewport. We can reset the byte range to defaults to fix the
textobject behavior.
2025-05-17 10:30:30 -04:00
Michael Davis be1bf2f909
CI: Set a timeout for the test suite workflow
The integration tests have recently become a bit flaky in that
individual tests can seem to hang forever. This needs further
investigation. In the meantime we should limit the total allowed time
for the test workflow to something reasonably low. The default timeout
is a very high 360min.
2025-05-17 09:16:14 -04:00
Michael Davis 05ae617e1c
queries: Reorder Slint and HTML injections in Rust
This fixes injections of Slint and HTML in Rust macros. These patterns
must be moved after the generic `(macro_invocation (token_tree))`
pattern since they are more specific, and later patterns now take
priority.

See <https://redirect.github.com/helix-editor/helix/pull/12972#issuecomment-2888300442>.
2025-05-17 08:48:01 -04:00
CalebLarsen e606652a96
Removed unnecessary apostrophe in keymap.md (#13551) 2025-05-17 07:43:27 -05:00
CalebLarsen df02ef6a99
Update tree-sitter-haskell (#13475) 2025-05-17 07:42:52 -05:00
Michael Davis 3ceae88c3a
Use 'ui.text' as a base style for the syntax highlighter
This fixes a regression from the refactor of the highlighters when
switching to tree-house. The old `StyleIter` used `renderer.text_style`
as the base style rather than `Style::default()` for syntax highlights.
The result was that any text not captured by a syntax highlight query
was styled with no foreground or background, defaulting to the
terminal's foreground/background. This could cause text in markdown
files to look off-colored depending on your terminal configuration.
(Though you wouldn't notice if your 'ui.text' theming matches your
terminal's theming.)
2025-05-16 10:52:47 -04:00
Nguyễn Hồng Quân b4e51ef895
More glob to detect gitattributes file (#13540) 2025-05-16 09:32:29 -05:00
Rock Boynton f157a918a3
Show the primary selection index on statusline (#12326)
Co-authored-by: Rock Boynton <rboynton@anduril.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-05-15 07:53:02 -05:00
Michael Davis a7c3a43069
Bump tree-house-bindings to v0.1.1 to fix IllumOS build
See <https://redirect.github.com/helix-editor/tree-house/issues/8>.
2025-05-15 08:33:10 -04:00
Michael Davis 702b1d0a0f
statusline: Avoid unnecessary allocations for `&'static str` spans
Previously the statusline `write` function only accepted a string
and optional Style, so all rendering functions converted text to
strings. Some elements write spans with `&'static str`s, however, making
this unnecessary since `Span<'a>` is a wrapper around `Cow<'a, str>` and
style, and a `Span<'static>` would outlive all required lifetimes.

Moreover many elements could produce `Span<'a>` according to the
lifetime in `RenderContext` in the future, potentially re-borrowing from
the Editor borrow, so this change could save allocations for many
file-type elements (with more future changes). This is not explored in
this patch since the statusline functions currently add bespoke padding
per-element, but with a future refactor to make spacing consistent this
could be possible.

This change refactors the write function to accept a `Span<'a>` and
rewrites some related code to fit the codebase better (preferring `for`
to iterator's `for_each` for example). The new code is more complicated
lifetime-wise but avoids allocations in these cases:

* spacer for mode name when a pane is not focused
* LSP spinner frames
* '●' (workspace) diagnostic indicators
* " W " workspace diagnostic prefix
* file modification indicators
* read-only indicators
* spacer element

... and opens the door to avoid allocation for file name elements in the
future.
2025-05-15 08:33:02 -04:00
Michael Davis b0528bbac4
statusline: Avoid showing only 'W' in workspace-diagnostics element
If you configure a subset of severities to show in the workspace
diagnostics statusline element you can see the 'W' (and surrounding
space) without any diagnostic indicators. This is the case by default
as it's configured to show warnings and errors only - if you have only
hints in your workspace like if you open `application.rs` in Helix for
example then you would see the 'W' and no indicators.

This change checks that any of the configured diagnostics are non-zero
and bails early if there are none.
2025-05-14 17:33:21 -04:00
Michael Davis 09bc67ad6d
syntax: Fix language detection by shebang
The switch to tree-house accidentally dropped some shebang parsing code
from the loader's function to detect by shebang. This change restores
that. The new code is slightly different as it's using a `regex_cursor`
regex on the Rope rather than eagerly converting the text to a
`Cow<str>` and running a regular regex across it.
2025-05-14 16:30:29 -04:00
Matt Paras 81ee8ef4ce test experimental picker callback, use at your own risk (do not use unless you know what you're doing) 2025-05-14 08:05:58 -07:00
zoey 6be38642f4
Add nyxvamp themes (#12185) 2025-05-14 08:52:00 -05:00
Michael Davis f46222ced3
Revert "feat: Highlight Rust String interpolation macros"
This reverts commit 9bb80a74e1.
2025-05-13 19:52:48 -04:00
Nikita Revenco 9bb80a74e1
feat: Highlight Rust String interpolation macros
Fixes #5845
2025-05-13 19:31:42 -04:00