This implements function, (calling) argument and comment captures for use
in the textobject selections in bash.
This also updates the generated docs after adding the textobjects for bash.
Version 2.2.1 of the grammar adds extended support for HLL (C, C++,..)
expressions. Quite a few node types were added, renamed or removed in
the process.
This change brings the highlight queries in sync with the ones found in
the repository of the grammar. The highlighting tests "look" okay after
updating the queries.
Recently, Codeberg had some reliability issues. That is why the language
is now using the mirror repository on GitLab as source instead.
Co-authored-by: Christoph Sax <christoph.sax@mailbox.org>
* fix vlang grammar fetch and build fail
* update highlights.scm for v-analyzer
* Update languages.toml
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Update runtime/queries/v/highlights.scm
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* update scm for new lsp
* gen doc lang-support.md
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Since regex is almost always injected into other languages,
`pattern_character`s will inherit the highlight for the structure that
injects them (for example `/foo/` in JavaScript or `~r/foo/` in Elixir).
This removes the string highlight when used in the prompt.
We also add `ERROR` node highlighting so that errors in regex syntax
appear in the prompt. This resolves a TODO in the `regex_prompt`
function about highlighting errors in the regex.
* theme: nightfox - fix subselection highlighting
This fixes an issue with subselect highlighting on the same line as
reported here: https://github.com/helix-editor/helix/discussions/5158
* theme: nightfox - update bufferline colors
This uses `ui.bufferline` to make it easier to distinguish
between (in-)active tabs/buffers.
* inject language based on file extension
Nodes can now be captured with "injection.filename". If this capture
contains a valid file extension known to Helix, then the content will
be highlighted as that language.
* inject language by shebang
Nodes can now be captured with "injection.shebang". If this capture
contains a valid shebang line known to Helix, then the content will
be highlighted as the language the shebang calls for.
* add documentation for language injection
* nix: fix highlights
The `@` is now highlighted properly on either side of the function arg.
Also, extending the phases with `buildPhase = prev.buildPhase + ''''`
is now highlighted properly.
Fix highlighting of `''$` style escapes (requires tree-sitter-nix bump)
Fix `inherit` highlighting.
* simplify injection_for_match
Split out injection pair logic into its own method to make the overall
flow easier to follow.
Also transform the top-level function into a method on a
HighlightConfiguration.
* markdown: add shebang injection query
* Change Odin grammar to `ap29600/tree-sitter-odin`
The previously adopted grammar, `MineBill/tree-sitter-odin`, is unmaintained and mentions my repository as an alternative source.
* update queries
* docgen
* fix queries
* Update runtime/queries/odin/highlights.scm
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* remove `ERROR` query for `odin`
* track the latest rev in `ap29600/tree-sitter-odin`
* runtime/queries/odin/highlights.scm: update rune highlight class
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Unlike other languages, in Go, switches themselves are not indented;
it's just each case body which is indented by one level:
switch foo {
case "bar":
baz()
}
As such, we shouldn't `@indent` for type_switch_statement nor
expression_switch_statement, as otherwise inserted lines show up as:
switch foo {
// inserted with "o"
case "bar":
// inserted with "o"
baz()
}
With the fix, the inserted lines are indented properly:
switch foo {
// inserted with "o"
case "bar":
// inserted with "o"
baz()
}
I also verified that indentation on selects similarly works well.
Thanks to Triton171 for helping with this fix.
Ferra's current ruler styling overrides the foreground style, which is
an odd look only for characters in the ruler column. This commit removes
the foreground styling for the ruler rule. This is more in line with
what other themes do for the ruler.