- Adds injections for the `comment` language
- Correct highlight of the `nil` value. Same highlight as `null` in javascript, java and others
- Recognize `<` and `>` as punctuation, used in generics (same color as the syntax used in other languages)
- `protocol` function methods are recognized
- When accessing object properties, like `hello.world`, the `world` is properly recognized as being a member
- Recognize the `\` as an operator
The changes in #12148 were a bit radical - this restores some
customizations we had like using "label" for captures and not
highlighting the '#' or '?'/'!' parts differently. Also the highlighting
for predicates we do (not) support has been restored.
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
* 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
* Add some rust builtins
* rust queries: Add everything in the 2021 prelude
* Update runtime/queries/rust/highlights.scm
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
The repository reference used here was a fork from the actual
repository, which has now been moved under ionide organization, where it is
in active maintenance and development.
The commit SHA is the currently latest commit from main branch.
The injections.scm is copied as is from the fsharp treesitter repo
[queries](https://github.com/ionide/tree-sitter-fsharp/blame/main/queries).
The locals.scm is copied from the repo and the capture names are to follow
the standard names:
- Replace @local.definition.var @local.definition.function, and @local.definition.parameter with @local.definition
- Remove (#set! "definition.function.scope" "parent")
The highlights.scm is copied as well from the fsharp
treesitter repo, but modified here to match helix highlight scopes based
on my best guesstimates. The changes made:
- Remove @spell scopes
- Split @comment into @comment.line and @comment.block
- Replace @comment.documentation with @comment.block.documentation
- Replace @character.special with @special
- Replace @variable.member with @variable.other.member
- Replace @type.definition with @type
- Replace @function.member with @function.method
- Replace @module with @namespace
- Replace @constant.macro with @function.macro
- Replace @property with @variable.other.member
- Replace @variable.member with @variable.other.member
- Replace @variable.parameter.builtin with @variable.builtin
- Replace @function.call with @function
- Replace @number with @constant.numeric.integer and @constant.numeric.float
- Replace @boolean with @constant.builtin.boolean
- Replace @keyword.conditional with @keyword.control.conditional
- Replace @keyword.return with @keyword.control.return
- Replace @keyword.repeate with @keyword.control.repeat
- Replace @keyword.import with @keyword.control.import
- Replace @keyword.modifier with @keyword.storage.modifier
- Replace @keyword.type with @keyword.storage.type
- Replace @keyword.exception with @keyword.control.exception
- Replace @module.builtin with @namespace
* Add TypeSpec support
Adds support for TypeSpec <https://typespec.io> in helix.
* Resolve PR comments
* Pull in LICENSE
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* feat(languages): update `just` grammar and queries
Bump the
* refactor(syntax): inject shebang by id not name
---------
Co-authored-by: Trevor Gross <tmgross@umich.edu>
* add textobjects queries comment and function
* update doc for hurl lang support
* switch entry.inner to entry.outer
* switch to function.inside
---------
Co-authored-by: Tobias Eiß <te@clarilab.de>
* Update the tree sitter to support Typst 0.11 and changed the lsp to Tinymist
* Fixed
* Added typst-lsp & tinymist
---------
Co-authored-by: Idobenhamo <idobenhamo@users.noreply.github.com>
Add support for .xtc/.xoa/.xpc files
* XTC stand for Xena Traffic Configuration
* XOA stand for Xena OpenAutomation
* XPC stand for Xena Port Configuration
Theses three file time seems to be the most common file extension I
encountered in the wild
* feat(lang): add LDIF support
* style: no unnecessary glob
* Update runtime/queries/ldif/highlights.scm
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Use any-of instead of match in yaml injections
Go back to original intent when this code was first written now that the
tree-sitter version used supports any-of?.
* yaml/injections: Add injection for Buildkite
Buildkite uses `command` (`commands` is an alias) to define the
command(s) to run for the step.
* feat: Add `Ohm` language support
Hope this commit makes it into release :)
* Update runtime/queries/ohm/highlights.scm
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* chore: final newline
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
This adds parameter highlighting for reference parameters and defaulted
parameters. For example:
```cpp
auto strip_prefix_only(std::string& s,
Hidden_Homonym skip_hidden_homonym = {}) const
-> Affixing_Result<Prefix>;
```
Previously both parameters were only highlighted as variables.
A few changes:
* 0-arity type specs like the following previously would not have the
expected 'variable.parameter' highlighting for the return type:
-spec foo() -> Value when Value :: term().
* Highlight module, type and function docs as documentation comments
and inject markdown into them.
* Replace `#match?` predicates with `#any-of?` where possible.
* Remove custom auto-pairs. Now that Erlang uses markdown for
documentation, the asciidoc-style backtick-singlequote pair is no
longer useful.
* feat: add support for ember .hbs (glimmer) templates
* adjust highlights to helix
* highlight this correctly in block statements
* correctly highlight attributes
* correctly highlight hash_pair
* add newline to highlights.scm
* refactor: use #any-of and #eq instead of #match
* chore: add newline to languages.toml
* Adding initial support for ada language, based off #7790 PR from tomekw
* More translation to helix-specific tree-sitter scm labels, add ada gpr switch to ada LSP
* Generate ada in lang-support.md using cargo xtask docgen
* Update tree-sitter definitions according to comments
* Remove .gpr glob from languages.toml
* Fix unit in languages.toml for ada, update locals.scm to helix needs
* Extend groovy support
Use more complete parser introduced in nvm-treesitter in
d4dac523d2
* Update runtime/queries/groovy/locals.scm
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Drop indent.scm for groovy
It was copied from the tree-sitter repository but is not
compatiblw with the way indent queries are implemented
in Helix.
* Adapt groovy highlights to helix syntax
* Update documentation
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Added `jsonc` language with support for comments
The `vscode-json-language-server` accepts `jsonc` as a language id.
Allowing the use of comments within JSON files.
* fix: Update `injdection-rejex` to be unique
* fix: use includes to remove redundant queries
* ci: Generate language-support docs
* fix: close#9771 update OCaml
* fix: no longer match on ( ) as the underlying grammar handles these
* fix: implement excellent corrections from review
* fix: module -> namespace to match theme scopes
* update languages.toml: tree-sitter-lua grammar
repo has moved, use new URL and the rev of the latest release (v0.0.19)
* update highlight queries
a novice attempt to port query updates from the
source repo to Helix captures and ordering
* Apply suggestions from code review
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Add Groovy grammar
* Rewrite Neovim captures into Helix for Groovy
* Simplify Groovy injections
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Remove Neovim's spell from Groovy highlights
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Apply suggestions to languages.toml
* Escape backslash in groovy highlights.scm
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* languages: add docker-compose language
it uses docker-compose-langserver as lsp
And yaml for syntax highlighting, indents and injections
* languages: add luajit as a shebang of lua
This helps to provide syntax highlighting and
other lua goodies when writing luajit
* book(update): run cargo xtask docgen
* since #8006 full filenames uses glob
* languages: add CEL language and grammar
* languages: add spicedb schema language
* chore: docgen
* runtime/queries: refine spicedb & cel highlights
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* languages: update spicedb
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Use janet-simple grammar for Janet
* Update book
* Tweak language name and related
* Rename janet-simple to janet in book
* Remove spurious language section for janet
* Drop quote_lit and qq_lit related highlighting
---------
Co-authored-by: sogaiu <983021772@users.noreply.github.com>
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>