Commit Graph

6659 Commits (diagnostic-severity-glyphs)

Author SHA1 Message Date
Michael Davis c1027e63f6
Use separate glyphs for hint/info/warning/error diagnostic indicators
Currently all diagnostics use '●' as an indicator. This can be hard to
distinguish at a glance, especially if you are colorblind and/or the
theme doesn't distinguish much between `warning` and `error` styles
for example. We should split these out into separate simple shapes so
each severity is easy to recognize.
2025-06-25 08:31:57 -04:00
Md Atiquz Zaman 974ac9eaf3
Sidra Theme - A super customizable, balanced dark theme for Helix (#13575) 2025-06-24 08:09:14 -05:00
CalebLarsen 60fce357fb
queries: Fix Rust function parameter locals tracking (#13828) 2025-06-24 08:08:25 -05:00
dependabot[bot] 4f985832bf
build(deps): bump libc in the rust-dependencies group (#13827)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 21:41:00 -04:00
Michael Davis 43963473e3
Add a `ConfigDidChange` event
This is meant to be minimal for now and is expected to change as the
config system evolves.

Features like word completion should be able to hook into this to
initialize or clear the word index when the toggle for the feature is
turned on or off (respectively).
2025-06-23 11:32:51 -04:00
Jason Williams 2338b44909
DAP: Support the startDebugging reverse request (#13403) 2025-06-23 09:48:05 -05:00
Ricardo Fernández Serrata 58dfa158c2
feat(langs): acknowledge `jsconfig` (#13822) 2025-06-23 09:07:10 -05:00
Nik Revenco 171dfc60e5
fix: highlight `floor` in `|> float.floor` as function in Gleam (#13813) 2025-06-21 14:50:52 -04:00
Harald Atteneder 250af462cd
Update tree-sitter-twig rev to latest commit (#13689) 2025-06-21 14:24:54 -04:00
Nik Revenco 40a3fb9b92
feat: Improved syntax highlighting for Gleam (#13807) 2025-06-21 12:24:19 -05:00
Margret Riegert c96642125f
Update Crystal tree sitter and add support for ameba-ls (#13805)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-06-21 12:02:16 -05:00
Michael Davis 4a85171907
Show all active scopes in :tree-sitter-highlight-name
Previously the command only showed the top of the stack of highlights.
Now it shows all active highlights under the cursor, comma separated.
2025-06-21 12:29:13 -04:00
Yesudeep Mangalapilly 472a27e4f2
feat(languages): detect BUCK files as starlark (#13810)
Co-authored-by: Yesudeep Mangalapilly <yesudeep@vikata.local>
2025-06-21 09:00:55 -05:00
Michael Davis 036729211a
Remove blank_issue template
GitHub has an option for a blank issue by default.
2025-06-19 10:52:16 -04:00
Michael Davis d3fb8fc9b8
Fix prompt truncation for non-ASCII lines
The prompt was previously assuming that each grapheme cluster in the
line was single-width and single-byte. Lines like the one in the new
integration test would cause panics because the anchor attempted to
slice into a character.

This change rewrites the anchor and truncation code in the prompt to
account for Unicode segmentation and width. Now multi-width graphemes
can be hidden by multiple consecutive elipses - for example "十" is
hidden by "……" (2-width).

Co-authored-by: Narazaki, Shuji <shujinarazaki@protonmail.com>
2025-06-19 10:44:06 -04:00
yuri 684e108fd0
Fix `goto_file` on Windows (#13770) 2025-06-18 19:32:14 -05:00
Damir Vandic 3c6c221d45
Update gleam tree-sitter grammar (#13793) 2025-06-18 09:32:41 -05:00
Alan 6b94d70f20
chore: bump purescript grammar (#13782) 2025-06-18 09:11:28 -05:00
Roald Storm 1491cbc8f3
Add diagnostic source to diagnostic pickers (#13758) 2025-06-17 09:17:46 -05:00
Saheed Adeleye e11794be37
use human-readable sizes for file size on save/write (#13627) 2025-06-17 09:10:14 -05:00
Nik Revenco fba644f2b4
fix: inconsistent error messages (#12577)
Co-authored-by: Nikita Revenco <154856872+NikitaRevenco@users.noreply.github.com>
2025-06-17 09:04:50 -05:00
dependabot[bot] 24fe989596
build(deps): bump the rust-dependencies group with 3 updates (#13777)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 08:54:41 -05:00
Michael Davis fed3edcab7
queries: Fix highlighting of '#' in CSS color hex codes
This was previously highlighted as `punctuation` because the capture
applied to the whole `(color_value)` node rather than the `"#"` child
node specifically.
2025-06-16 13:43:41 -04:00
Michael Davis 4099465632
stdx: Add an iterator over grapheme indices in a rope slice 2025-06-16 13:12:54 -04:00
Michael Davis 9100bce9aa
stdx: Unify RopeSlice grapheme cluster iterators
This style for RopeGraphemes is identical to Ropey's Chars and Bytes
iterators. Being able to move the iterator types like cursors over the
bytes/chars/graphemes is useful in some cases. For example see
`helix_core::movement::<Chars as CharHelpers>::range_to_target`.

This change also adds `RopeSliceExt::graphemes_at` for flexibility.
`graphemes` and `graphemes_rev` are now implemented in terms of
`graphemes_at` and `RopeGraphemes::reversed`.
2025-06-16 13:12:13 -04:00
Michael Davis f5dc8245ea
stdx: Add `RopeSliceExt::(nth_){next,prev}_grapheme_boundary`
These functions mirror those in `helix_core::graphemes` but operate
directly on byte indices rather than character indices. These are meant
to be used as we transition to Ropey v2 and always use byte indices.
2025-06-16 13:10:30 -04:00
Michael Davis 362e97e927
Update tree-house to v0.3.0
This release contains some fixes to highlight ordering which could cause
panics in the markdown component for highlights arriving out of order.
2025-06-16 10:27:19 -04:00
Michael Davis ba54b6afe4
LSP: Short-circuit documentColors request for no servers
This fixes a deadlock when starting Helix with very many files, like
`hx runtime/queries/*/*.scm`. The tree-sitter query files don't have
an active language server on my machine and yet we were spawning a tokio
task to collect documentColors responses. We can skip that entirely.
Further debugging is needed to figure out why this lead to a deadlock
previously.
2025-06-16 09:42:48 -04:00
Tatesa Uradnik 837627dd8a
feat: allow moving nonexistent file (#13748) 2025-06-16 08:19:28 -05:00
CalebLarsen 1246549afd
Fix: update c++ highlights (#13772) 2025-06-16 08:04:22 -05:00
uncenter ada8004ea5
Highlight HTML entities (#13753) 2025-06-16 08:03:02 -05:00
Pascal Kuthe 205e7ece70
update imara-diff (#13722) 2025-06-14 16:14:27 -04:00
yuri 1315b7e2b1
Feat: inlay hint length limit (#13742) 2025-06-13 11:09:21 -05:00
Lens0021 / Leslie 52192ae29e
Add Amber language server (#13763) 2025-06-13 10:05:21 -05:00
Jonas Köhnen fba1a6188a
Picker: Detect language before rendering preview (#13761) 2025-06-13 09:29:26 -05:00
polyface b90d8960a8
added crystal formatter in languages.toml (#13759)
Co-authored-by: polyface <polyface@proton.me>
2025-06-13 09:20:07 -05:00
uncenter 6e4ec96101
Highlight Ecma escape sequences (#13762) 2025-06-13 09:15:40 -05:00
CalebLarsen 62f270e5d2
chore: updated c,c++ highlights (#13747) 2025-06-12 09:28:09 -05:00
idealseal 3b7aaddb13
feat: add neocmakelsp language server (#13740) 2025-06-11 09:00:46 -05:00
Nguyễn Đức Toàn ab97585b69
feat: add tombi language server (#13723) 2025-06-10 10:35:11 -05:00
yuri 9dbfb9b4eb
Merge formatting options and `config.format` in range format request (#13734) 2025-06-10 09:55:46 -05:00
Caleb Larsen 091f19f67c chore: updated themes using 'comment.block.documentation' to also use 'comment.line.documentation' 2025-06-10 10:54:05 -04:00
Caleb Larsen ae3eac8aeb fix: Rust now correctly highlights doc comments as @comment.{block,line}.documentation instead of @comment 2025-06-10 10:54:05 -04:00
dependabot[bot] fbe9785613
build(deps): bump the rust-dependencies group with 4 updates (#13730)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 09:45:32 -05:00
spentbliss 7092e30f8d
feat(colorscheme): add lapis_aquamarine colorscheme (#13726)
Co-authored-by: spentbliss <spentbliss@users.noreply.github.com>
2025-06-10 09:44:30 -05:00
Samuel Ibarra 705d467932
Update languages.toml for Mojo (#13648) 2025-06-10 09:43:00 -05:00
dependabot[bot] 05a4d05646
build(deps): bump which from 7.0.3 to 8.0.0 (#13729)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 09:42:04 -05:00
CalebLarsen 2b26d27416
fix: re-ordered and updated python highlights (#13715) 2025-06-08 21:34:37 -04:00
Grey e773d6cc92
feat: add luau grammars and lsp (#13702)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-06-08 15:21:08 -04:00
Michael Davis 633c5fbf0f
Update language loader before refreshing theme in `:config-reload`
Since locals are handled during parsing instead of highlighting with
tree-house, we need to call `helix_core::syntax::Loader::set_scopes`
before parsing any documents. During `:config-reload` we previously
reloaded the `Loader` and re-parsed documents and _then_ updated the
theme. So documents were parsed before `Loader::set_scopes` was called
on the new loader.

With this change the `refresh_language_config` helper is inlined into
`refresh_config`. Updating the `Editor`'s `ArcSwap` of the loader is
done before updating the theme so that the `load_configured_theme`
helper can call `set_scopes` with on the new loader.
2025-06-08 15:05:22 -04:00