* dap: don't change the active thread on thread events
The active thread is expected to be a stopped thread: it is selected on
`stopped` events and cleared when the application resumes. Setting it on
every `thread` event (started/exited) made step, continue and variables
target running threads, e.g. with java-debug which reports every JVM
thread, and the thread that hit a breakpoint was never selected.
* dap: only reset the active frame when selecting a thread
fetch_stack_trace is also called for threads that stop while another one
is selected, which reset the selected thread's active frame to the top
frame. Reset it only in select_thread_id, when the active thread changes.
* feat(runtime/queries/go): public functions and methods
Same as https://github.com/helix-editor/helix/pull/15879 but for Go.
Add dedicated scope for public functions/methods.
* feat(book): document new 'public' scope for functions/methods
* chore: fixups
The Go queries for injecting regex language syntax were taking also
the surrounding quotes. Pass only the raw string content to the
injected syntax.
Fixes: https://github.com/helix-editor/helix/issues/15591
Add a regression test for glob sections combining a brace group with a
following brace group that contains an empty alternate, such as
`*.{nix,yml}{,.foo}`. The empty branch must match plain extensions
(e.g. `flake.nix`) and the non-empty branch must still match
(e.g. `flake.nix.foo`).
Closes#15883
This reverts commit a262aab7be.
The Nix build can't handle a sha256 grammar repo without either making
the entire build impure or introducing a hash into the Nix files.
* build(deps): bump sha2 from 0.10.9 to 0.11.0
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.9 to 0.11.0.
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.10.9...sha2-v0.11.0)
---
updated-dependencies:
- dependency-name: sha2
dependency-version: 0.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* workspace trust: Explicitly hex_encode digests
The new sha2 version does not explicitly implement LowerHex, so we have
to hex encode explicitly.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Tech-blue thunder above, crimson fire below, pure black through the
middle. Built on the Vesper palette structure with the warm-accent
family remapped to a Tailwind blue gradient; full syntax + UI coverage
including markup, diff, LSP diagnostics, and cursor/selection.
Upstream theme repo: https://github.com/AyoubTadlaoui/atlas-ragnarok
The secondary cursor look the same as the primary cursors, making it
difficult to use `,` or `alt-,` features.
With this change the primary cursor is now colored as the current mode
and the secondary cursors are always gray, making them visually
differentiable.
* feat(themes): add Quiet Light theme
Port of VSCode's built-in "Quiet Light" theme. Distinctive for its
bold-on-functions and bold-on-types styling, a rare choice among
existing Helix themes.
Upstream: https://github.com/microsoft/vscode/tree/main/extensions/theme-quietlight
* theme(quiet_light): tune UI chrome
- Fix invisible popup/menu bg by using editor bg consistently
- Set ui.background fg so picker outer border (Block::bordered, no
explicit style) inherits a visible color
- Switch popup.info from peek-bg (pale blue) to editor bg for consistency
- Add chrome-border palette entry (#c9d0d9, QL tab.lastPinnedBorder) for
ui.window and ui.background.separator
- Quote underline + mark link-url underline style properly
* Mute type inlay hints in Quiet Light theme
* Make popups distinct from editor bg in Quiet Light
locals.scm used bare @local.definition instead of the required
@local.definition.<class> suffix, so its captures had no effect.
highlights.scm used @function.definition and @function.call, which
aren't real highlight scopes (they fall back to plain @function
anyway). Fixed both to follow convention, splitting locals.scm
definitions into variable (floating/essential hypotheses) and
function (axiom/provable theorems) to match the classification
already used in tags.scm.
Co-authored-by: m4dh0rs3 <54140937+m4dh0rs3@users.noreply.github.com>
* Update wolf-alabaster themes to distinguish definitions from usages
Changes:
- Differentiate secondary cursors from primary (new cursor-secondary color)
- Don't highlight function calls (function.call, function.method.call = fg)
- Don't highlight builtin function calls (function.builtin = fg)
- Don't highlight type usages (type = fg), only definitions (type.definition)
- Don't highlight namespace usages (namespace = fg)
These changes align with the Alabaster philosophy: only definitions get
color, not usages. See https://tonsky.me/blog/syntax-highlighting/
Works best with query changes from #15185.
* Update wolf-alabaster themes: bracket matching and cursorline
- Use blue + underline for bracket matching (tonsky's original style)
- Distinguish primary cursorline from secondary
Problem: The initial dollar-sign consumed before passing to tree-sitter
Solution: Change `injection.include-unnamed-children` to `injection.include-children`