Michael Davis
1a5eb55477
Mark query_captures function as unsafe
...
It's easy to mistakenly use-after-free the cursor and captures iterator
here because of the transmute. Ideally this could be fixed upstream in
tree-sitter by introducing an API with lifetimes/types that reflect the
lifetimes of the underlying data.
Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>
2 weeks ago
Michael Davis
68f7b87519
Use a helper function for creating query captures
...
This deduplicates some somewhat complex code between the highlight_iter
and query_iter.
2 weeks ago
Michael Davis
b4bf968503
Share sort_layers function between query iterators
...
The code in the `sort_layers` function was fully duplicated between
the HighlightIter and the QueryIter. This change adds a common
`sort_layers` function that accepts a layer Vec from both.
2 weeks ago
Michael Davis
cc2531428e
Share sort_key function between query iterators
...
This is brings the fix from d5f17d3
to the QueryIter layers. A trait
for getting the cursor and sort-key from each layer helps cut down on
code duplicated between these iterators.
2 weeks ago
Michael Davis
00cb4aa347
Add a guide on writing rainbow queries
2 weeks ago
Michael Davis
b97eaf60dd
Add rainbows.scm query to health-check, query-check and docs
2 weeks ago
Michael Davis
aa21bafaac
Add rainbows.scm queries
...
Co-authored-by: SoraTenshi <dream@neoncity.dev>
2 weeks ago
Michael Davis
780f141a75
Overlay rainbow highlights onto syntax highlights
...
We call the rainbow_spans function introduced in the parent commits
over the largest node that contains the current viewport: we need to
reach far enough back in the document that we find the absolute
beginning for brackets. If we run rainbow_spans only over the current
viewport, we get a bug where the color of rainbow brackets changes as
we move the viewport.
2 weeks ago
Michael Davis
c8cf5b797c
Calculate rainbow highlights spans
...
This is an example usage of the query_iter introduced in the parent
commit: captures are returned in order across language layers. We
can use this iterator and a stack for the rainbow scopes to calculate
highlight spans that can be merged into the syntax highlights using
syntax::merge.
2 weeks ago
Michael Davis
a261be9f0a
Add a generic iterator over captures across injections
...
This can be used to calculate rainbow highlights (see the child commit)
or indents or textobjects and be accurate to the injected content
rather than just the root layer. This is useful for languages which
use injections heavily like Vue or JavaScript within HTML but are also
useful in common scenarios like within codeblocks in Markdown.
This iterator shares some code with the HighlightIter and
HighlightIterLayer but that iterator emits HighlightEvents, so it cares
about the beginnings and ends of highlight events rather than captures.
2 weeks ago
Michael Davis
e1c946ef4f
Add rainbow_query to HighlightConfiguration
2 weeks ago
Michael Davis
9e88e2ced5
Add rainbow_brackets configuration option
...
This option is similar to the `rulers` config: it can be set no the
editor key in config and also overridden for specific languages, so
you could enable rainbow brackets for lisps for example without
enabling it globally.
2 weeks ago
Michael Davis
64de0ef3f0
Parse rainbow style array in themes
...
This change adds a field to the schema of themes which takes a
list of styles.
rainbow = ["red", "orange", "yellow", { modifiers = ["reversed"] }]
[palette]
red = "#ff0000"
orange = "#ffa500"
yellow = "#fff000"
Normal style rules apply for each element in `rainbows`: you can
use definitions from the palette and the full fg/bg/modifiers
notation.
Themes written with `rainbow` keys are not backwards compatible.
Parsing errors will be generated for older versions of Helix
attempting to use themes with `rainbow` keys.
A default rainbow is provided with base16 colors.
This change is made with rainbow pair characters (parens, brackets, etc.)
in mind but it could also be used for other rainbow cosmetic elements
like rainbow indent-guides.
2 weeks ago
Yuki Kobayashi
b53dafe326
Treat .prettierrc as YAML ( #11997 )
3 weeks ago
Poliorcetics
c0920e779d
just: update tree-sitter-grammar to support 1.36.0 ( #11606 )
...
Release notes:
- https://github.com/casey/just/releases/tag/1.35.0
- https://github.com/casey/just/releases/tag/1.36.0
Notably, this adds `[private]` attributes on modules, which the current version of the grammar cannot parse,
as well as unicode codepoint escape sequences.
3 weeks ago
Elliot Fontaine
38faf74feb
feat: Add support for cylc configuration files ( #11830 )
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
4 weeks ago
dependabot[bot]
101a74bf6e
build(deps): bump the rust-dependencies group with 6 updates ( #11924 )
...
Bumps the rust-dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.128` | `1.0.132` |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.89` | `1.0.90` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.159` | `0.2.161` |
| [fern](https://github.com/daboross/fern ) | `0.6.2` | `0.7.0` |
| [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) | `0.12.1` | `0.12.2` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.30` | `1.1.31` |
Updates `serde_json` from 1.0.128 to 1.0.132
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/1.0.128...1.0.132 )
Updates `anyhow` from 1.0.89 to 1.0.90
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.89...1.0.90 )
Updates `libc` from 0.2.159 to 0.2.161
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.161/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.159...0.2.161 )
Updates `fern` from 0.6.2 to 0.7.0
- [Release notes](https://github.com/daboross/fern/releases )
- [Changelog](https://github.com/daboross/fern/blob/main/CHANGELOG.md )
- [Commits](https://github.com/daboross/fern/compare/fern-0.6.2...fern-0.7.0 )
Updates `pulldown-cmark` from 0.12.1 to 0.12.2
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.12.1...v0.12.2 )
Updates `cc` from 1.1.30 to 1.1.31
- [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.1.30...cc-v1.1.31 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: fern
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: pulldown-cmark
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
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>
1 month ago
Michael Davis
6d64e6288a
Bump flake dependencies
...
`nix flake update`
1 month ago
Michael Davis
f371dcaa4e
flake: Include --cfg tokio_unstable in Rust flags
...
The flake sets `RUSTFLAGS` and that overwrites the setting in
`.cargo/config.toml`. We need to add the `--cfg tokio_unstable` flag to
enable integration tests to run when called from the devShell.
1 month ago
TornaxO7
be2884d800
Continue line comments ( #10996 )
1 month ago
Sebastian Dall
a1453350df
Adding snakemake to language ( #11858 )
...
* feat: snakemake language
* feat: snakemake syntax highlighting
* doc: xtask docgen - snakemake
* Addressed feedback: removed redundant grammar
* fixed indentation
* removed has-ancestor predicate
---------
Co-authored-by: “SebastianDall” <“semoda@bio.auu.dk”>
1 month ago
karei
855a43a266
Bump `jjdescription` grammar revision ( #11857 )
1 month ago
Ivan B.
5ab1f1eb5a
docs(themes): place `ui.highlight.frameline` and `ui.highlight` together ( #11896 )
...
* docs(themes): place `ui.highlight.frameline` and `ui.highlight` together
* docs(themes): small fix
1 month ago
langurmonkey
1437ba1e5a
Add glsl_analyzer as default language server for GLSL ( #11891 )
...
* Add glsl_analyzer as default language server for GLSL
* Generate docs
1 month ago
dependabot[bot]
d1b8129491
build(deps): bump cc in the rust-dependencies group ( #11890 )
...
Bumps the rust-dependencies group with 1 update: [cc](https://github.com/rust-lang/cc-rs ).
Updates `cc` from 1.1.28 to 1.1.30
- [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.1.28...cc-v1.1.30 )
---
updated-dependencies:
- dependency-name: cc
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>
1 month ago
David Else
f2d54db24f
Update repology URL after change from helix to helix-editor ( #11877 )
...
* Update repology URL after change from helix to helix-editor
* Update book/src/package-managers.md
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
1 month ago
Dmitry Marakasov
e4f3483bd1
Fix repology badge ( #11895 )
1 month ago
dependabot[bot]
a7651f5bf0
build(deps): bump the rust-dependencies group with 4 updates ( #11850 )
...
Bumps the rust-dependencies group with 4 updates: [once_cell](https://github.com/matklad/once_cell ), [futures-util](https://github.com/rust-lang/futures-rs ), [futures-executor](https://github.com/rust-lang/futures-rs ) and [cc](https://github.com/rust-lang/cc-rs ).
Updates `once_cell` from 1.20.1 to 1.20.2
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.1...v1.20.2 )
Updates `futures-util` from 0.3.30 to 0.3.31
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31 )
Updates `futures-executor` from 0.3.30 to 0.3.31
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31 )
Updates `cc` from 1.1.23 to 1.1.28
- [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.1.23...cc-v1.1.28 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: futures-util
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: futures-executor
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
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>
1 month ago
dependabot[bot]
761f70d611
build(deps): bump cachix/install-nix-action from 29 to 30 ( #11852 )
...
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action ) from 29 to 30.
- [Release notes](https://github.com/cachix/install-nix-action/releases )
- [Commits](https://github.com/cachix/install-nix-action/compare/v29...v30 )
---
updated-dependencies:
- dependency-name: cachix/install-nix-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 months ago
rhogenson
f55f1f8b43
Remove auto-pair for single quote in SML. ( #11838 )
...
Similar to OCaml and other ML languages, single quote is a normal
character that can appear in identifiers and is also used in type
parameters. It is not used for strings or character literals, which both
use double quote.
Co-authored-by: Rose Hogenson <rosehogenson@posteo.net>
2 months ago
Christopher Kaster
048973fc55
Add support for dune project language ( #11829 )
2 months ago
RoloEdits
f6d39cbc1d
refactor(lsp): handle out-of-range `active_signature` ( #11825 )
2 months ago
Pascal Kuthe
162028d444
Merge pull request #11486 from helix-editor/lsp-location-refactor
...
Replace uses of `lsp::Location` with a custom Location type
2 months ago
Skyler Hawthorne
02b6f1488a
fix git repo detection on symlinks ( #11732 )
2 months ago
Ian Hobson
57ec3b7330
Add a highlight for the keyword.storage scope to the onedark theme ( #11802 )
...
Rust highlight queries make use of keyword.storage for keywords like
`struct`, `enum`, and also for modifiers like `mut` and `ref`.
Using a color that's different to the one used for
`"variable.parameter"` (red) improves differentiation for mutable
function arguments.
2 months ago
Akseli
083bb0118f
Fix some odin highlights ( #11804 )
...
Some of the odin highlights seemed wrong or lacking, like the import names were not being matched:
```odin
// color both "rl" here to same value
import rl "vendor:raylib"
...
rl.Vector3
```
Import color was also not being used correctly
2 months ago
dependabot[bot]
cb9307bb03
build(deps): bump the rust-dependencies group with 5 updates ( #11805 )
...
Bumps the rust-dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [once_cell](https://github.com/matklad/once_cell ) | `1.19.0` | `1.20.1` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.6` | `1.11.0` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.12.0` | `3.13.0` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.158` | `0.2.159` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.21` | `1.1.23` |
Updates `once_cell` from 1.19.0 to 1.20.1
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.19.0...v1.20.1 )
Updates `regex` from 1.10.6 to 1.11.0
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.10.6...1.11.0 )
Updates `tempfile` from 3.12.0 to 3.13.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.12.0...v3.13.0 )
Updates `libc` from 0.2.158 to 0.2.159
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.159/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.158...0.2.159 )
Updates `cc` from 1.1.21 to 1.1.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.1.21...cc-v1.1.23 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
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>
2 months ago
dependabot[bot]
e28b0da1fb
build(deps): bump cachix/install-nix-action from V28 to 29 ( #11806 )
...
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action ) from V28 to 29. This release includes the previously tagged commit.
- [Release notes](https://github.com/cachix/install-nix-action/releases )
- [Commits](https://github.com/cachix/install-nix-action/compare/V28...v29 )
---
updated-dependencies:
- dependency-name: cachix/install-nix-action
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 months ago
offsetcyan
e5dd60f794
Add Erlang Language Platform (ELP) support to Erlang ( #11499 )
...
* Add ELP LSP to Erlang
* generate docs
---------
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2 months ago
Denis Krienbühl
d103248cb8
Small bogster theme improvements ( #11353 )
...
* Add a distinct jump-label to bogster theme
* Make the primary label visible in the bogster theme
2 months ago
David Crespo
42453786a0
add key concepts to usage.md ( #11485 )
2 months ago
Oren Mittman
e1cacd149c
chore: add "ui.virtual.jump-label" to gruber-darker theme ( #11547 )
2 months ago
David Else
5975e53600
Add vale language server ( #11636 )
...
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2 months ago
RoloEdits
24f24299f2
feat(languages): add `superhtml` as lsp for `html` ( #11609 )
2 months ago
chtenb
5ffd4ae529
Add undocumented keybindings to book ( #11662 )
2 months ago
chtenb
8cdce9212c
Improve tree-sitter-subtree ( #11663 )
...
* Make unnamed nodes visible in subtree view
* Refine command description
* Update generated docs
* Update unit test expected output
2 months ago
Axlefublr
48b89d4dcf
fix: fish builtin functions are highlighted as such ( #11792 )
...
* fix: fish builtin functions are highlighted as such
* fix: single-character commands recognized as builtins
???? how did that query even happen
* fix: update builtins to fish 3.7.1
* fix: add back `alias` and `isatty`
they are builtins, but aren't reported by builtin -n for some reason
2 months ago
Dmitriy Sokolov
dd45ae1289
languages.toml: recognize ldtk files ( #11793 )
2 months ago
Ian J Sikes
2c3a00e96a
Fix typo in tutor ch 13.5 ( #11765 )
...
It said "split" instead of "swap"
2 months ago
jneem
2ce4c6d5fa
Bump tree-sitter-nickel ( #11771 )
2 months ago