Commit Graph

490 Commits (79c04251547e6c0c21366d322e268a6581c0f5dd)

Author SHA1 Message Date
Ollie Charles 8424f387b5
Remove `tree-sitter-cabal` (#6996) 2 years ago
Timothy DeHerrera 9c6c63a2be
inject language based on file extension & shebang (#3970)
* 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
2 years ago
ap29600 9cdc6b2e8a
Change Odin grammar to `ap29600/tree-sitter-odin` (#6766)
* 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>
2 years ago
Cole Helbling 6dd5054da4
Highlight sqlx's `query_scalar{,_unchecked}` macros as SQL (#6793)
* Highlight sqlx's `query_scalar{,_unchecked}` macros as SQL

* Update injections.scm

* fixup copy-pasta
2 years ago
Daniel Martí e7f25d88ca
Avoid extra indentation on Go switches (#6817)
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.
2 years ago
Matthew Toohey 99a8b6159c Fix go locals query for var_spec identifiers 2 years ago
VuiMuich 4cdba7cccd
Add standalone language support for `just` (#6453)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2 years ago
Farzin bb27542199
Fix python highlights to support single character and alphanumeric constant identifier (#6751) 2 years ago
Michael 161fef2166
Add DTD language support (#6644)
- Added syntax highlighting for the DTD subset of the XML spec.
- Included .dtd and .ent as common file extensions
2 years ago
lefp fff8543b58
Add OpenCL tree-sitter and LSP config (#6473) 2 years ago
Matouš Dzivjak 70de5026b8
feat(languages): Support markdoc (#6432)
Add basic support for [markdoc](https://markdoc.dev/).

For language server, see: https://github.com/markdoc-extra/markdoc-ls
For tree sitter, see: https://github.com/markdoc-extra/tree-sitter-markdoc
2 years ago
Farzin fed5e6e646
Highlight C/C++ escape sequences (#6724) 2 years ago
Clément Delafargue 3e2eca0db8
tree-sitter(haskell): use quasiquoters as an injection point (#6474)
Similar to tagged templates in JS, quasiquoters allow to embed external
languages in haskell, so it makes sense to treat them as an injection
point.
2 years ago
Ollie Charles deab323c28
Update tree-sitter-haskell (#6317) 2 years ago
Ollie Charles 92c5f5f18c
Initial Cabal language support (#6485) 2 years ago
Michael Davis 686a1e2f31
Update tree-sitter-git-commit (#6692)
Trailers are now supported, for example 'Co-authored-by' or
'Signed-off-by'. Commits are also now recognized in message bodies.
2 years ago
Arnar 6dabd36491
Update gleam grammar (#6641) 2 years ago
karei 1148ce1fd9
Add support for Robot Framework files (#6611)
* Add support for Robot Framework files

* Run docgen
2 years ago
Danillo Melo 3dd715a115
Update Ruby Highlights (#6587)
* update ruby highlights

* Updated SQL injection.scm

* Move private, public, protected to builtin methods
2 years ago
Clara Hobbs 4b32b544fc
Add textobject queries for Julia (#6588)
* Add textobjects queries for Julia

* Update docs for Julia textobject queries
2 years ago
Erasin Wang c22ebfe62e
Add Hurl Support (#6450)
* Add http Support

It's like [vscode-restclient](https://github.com/Huachao/vscode-restclient)

- https://github.com/erasin/tree-sitter-http/tree/main/tests

* Add Hurl Support
2 years ago
Clara Hobbs d284444eb4
Add indents.scm for Julia (#6490)
* Add indents.scm for Julia

* Update documentation for new indent support
2 years ago
Clara Hobbs fc9229c846
Add injection for markdown strings (#6489) 2 years ago
Michael Davis d7431db55c
Update tree-sitter-git-commit, add comment textobject (#6439)
The update includes a fix for comments in commit messages where there
was no space separating the '#' and the comment text.

The comment textobject can be useful occasionally to jump to the
summary part of the commit edit message.
2 years ago
JJ c8fde8b6f9
Initial Nim language support (#6123) 2 years ago
Juan C. Müller 5d7c90c5cf
Add language support for rego (OpenPolicyAgent) (#6415) 2 years ago
Tom Burdick 685ae2365a
Add vhdl language support (#5826)
Simple highlight query file with keywords and builtin types
matching. Many VHDL types however are defined in std libraries
which do not currently get matched on.

This is because the grammar doesn't consider them builtin types.
2 years ago
Erasin Wang 851ac6cdd3
Add theme keys for (un)checked markup list items (#6434) 2 years ago
Thor Adam 346ddd4735
Add `switch_statement` to ecma indents (#6369) 2 years ago
zetashift 0e0c16e6fa
Add initial Smithy support (#6370) 2 years ago
angelodlfrtr ac2a7731a6
Add language support for Cap’n Proto format (#6325) 2 years ago
Erasin Wang b20cf15eef
Update queries for makefile (#6339)
- update variable and ref as paramter
- add target as constant
- add inject for shell_text
2 years ago
Erasin Wang fb56a4bb75
Improve tree-sitter queries for vlang (#6279)
- Update hightlight
- add indents
- add textobject
- add injections
2 years ago
Erasin Wang 64c137bd3d
Update gdscript highlight (#6311)
- add gdscript2 type.builtin
- add gdscript2 keyword 'await'
- update label for more note_path
- update function and parmeter
2 years ago
Michael Davis fb4d703b9f Update Nix highlights
* Switch nix grammar repository location to the new repo. The author
  has transferred the repository to 'nix-community'.
* Capture ':' and '...' as 'punctuation.delimiter'.
2 years ago
Michael Davis cdd6c8d91e Update Erlang highlights
* Macros that start with underscore were incorrectly marked as
  'comment.unused' rather than 'keyword.directive' due to an ordering
  issue of those two patterns.
* Recognize escripts as Erlang by the shebang.
2 years ago
Ivan 955eb5b2de
queries/php: add missing keywords `unset` and `clone` (#6299) 2 years ago
Blaž Hrastnik 81601b1c6c
fix: C++ namespace indentation
fixes #6235
2 years ago
Maxicarlos08 3d230e701d
Also highlight unchecked variants of the sqlx query methods (#6256) 2 years ago
Ivan 3907358103
queries/php: add injections for regex and sql injection (#6250) 2 years ago
Philipp Mildenberger 98415f288f
Improved yuck highlighting (and parser), and introduced a tag.builtin scope (#6242) 2 years ago
Erasin Wang 0e5a4e55a4
Update highlights for golang (#6204)
- update tree-sitter-go
- refine keywords
- set package as namespace
- add label
2 years ago
Erasin Wang 622f90a157
Update highlight for PHP (#6203)
- update tree-sitter-php
- add basic types, operator
- refine keyword
2 years ago
Erasin Wang bc50502b1e
Update highlight for ecma/js/ts (#6205) 2 years ago
Erasin Wang e6597bc992
Update queries for godot4 (#6186) 2 years ago
Roberto Vidal 725d9aecf0
Add support for reStructuredText (#6180) 2 years ago
Matthias Q 2bd8bc8d84
feat(prql): add prql support (#6126) 2 years ago
István Donkó 2d5577dbe6
Extend the set of tags highlighted in comments (#6143) 2 years ago
Mathieu Agopian 98a3d46912
Add elm treesitter textobjects (#6084) 2 years ago
Matthew Toohey a4049e6f55
feat: add nasm language (#6068) 2 years ago
Sophie Dankel f69bb41169
Add language support for sway (#6023) 2 years ago
Matthias Deiml 0cbb61c3a4
Improve markdown highlights and add latex injection (#6100) 2 years ago
LeoniePhiline 6494fc1daf
feat(sql): MariaDB/MySQL syntax, Apache Hive syntax, unified builtin functions, floats, negative integers (#6041)
* feat(sql): MariaDB/MySQL table options `COLLATE`, `CHARACTER SET`, `ENGINE`

Upstream changes: 286e10c5bc...30e15d45dc

* feat(sql): Optional `COLUMN` in `ALTER TABLE`

Upstream changes: 30e15d45dc...c508e6044a

* feat(sql): Add `UNSIGNED` support, refactor numeric types

Upstream changes: c508e6044a...2d1d5b68a1

* feat(sql): Add support for Apache Spark create Hive table

Upstream changes: 2d1d5b68a1...7be06f4d5e

* feat(sql): Add support for signed and unsigned floating point literals

Upstream changes: https://github.com/DerekStride/tree-sitter-sql/pull/92/files

* feat(sql): Add interval data type

Upstream changes: 13d375dea3...7b4bcd0394

* feat(sql): Add support for DROP INDEX

Upstream changes: 7b4bcd0394...173d6feb50

* feat(sql): Add MariaDB/MySQL `ALTER TABLE ... CHANGE|MODIFY ... [FIRST|AFTER]` syntax

Upstream changes: 173d6feb50...0d7a121b2a

* feat(sql): Extract fields from Apache Hive storage location and row format

Upstream changes: 0d7a121b2a...d2f0f6695f

* feat(sql): Fix unified built-in functions

Upstream changes: d2f0f6695f...e4e43ba742

* feat(sql): Support negative integers

Upstream changes: e4e43ba742...3a3f92b29c

* rework(sql): Improve `@constant.numeric` regex
2 years ago
Erasin 864ee8fdef
Add GNU gettext PO grammar (#5996) 2 years ago
Philipp Mildenberger b89b2eaf68
Added yuck language support (for eww) (#6064) 2 years ago
Jummit 5ff2cb24e2
Add support for the uxntal language (#6047) 2 years ago
Skyler Hawthorne 71220da139
Update tree-sitter-git-rebase (#6030) 2 years ago
Jared Beller 87518db1d1
dhall: additional highlight queries (#5959) 2 years ago
Erasin c71b4c5579
Update grammar for godot (#5944)
* update grammar for gdscript.
* add comment injections for gdscript.
* add indent for gdscript
* add file-type support for godot-resource
2 years ago
ath3 1840d775c8
Added tree-sitter-hosts (#4950) 2 years ago
ath3 189c3c2ddc
Add tree-sitter-passwd (#4959) 2 years ago
gavincrawford 00ecc556a8
Fix Go select indenting (#5713)
* Fix Go  indenting

* Fix bracket outdent predicate

* Fix brace indenting (again)
2 years ago
Matthew Toohey 05c5207265
feat: add pem language (#5797) 2 years ago
Brett Lyons d8f482e11e
Add MSBuild language based on XML grammar (#5793) 2 years ago
LeoniePhiline 30412366be
feat: Update `tree-sitter-sql` and migrate `highlights.scm` to match grammar (#5772)
* Sort buildin functions alphabetically

* fix: Query float type like other numeric types

* Update tree-sitter-sql and update highlights.scm to match grammar
2 years ago
Eric Crosson 447909e4d0
Modify env language to extend bash (#5720)
Additionally, add `.envrc` to the `env`-supported file types.
2 years ago
LeoniePhiline 482cc22fec
Update tree-sitter-sql and improve highlight queries (#5683) 2 years ago
pacien 22b3d3d636
queries/nix: add injections for builtins and writers (#5629) 2 years ago
Eloi Torrents 7e191f5915
Support sagemath language (#5649) 2 years ago
eugene yokota 4535d0fa74 highlight(scala): update to fix potential crash (#5576)
* highlight(scala): update to fix crash

tree-sitter-scala has recently add a fix to workaround segv crashes in other editors.
Not sure if it happens to Helix as well, but it's probably a good idea to use the latest.

* highlight(scala): String interpolator support

This captures String interpolator as `function`

Co-authored-by: Chris Kipp <ckipp@pm.me>
2 years ago
eugene yokota 6f6334f3c6
highlight(scala): update the Scala highlight queries (#5546)
There have been a lot of changes in tree-sitter/tree-sitter-scala,
including partial support for Scala 3 syntax and breaking changes in
some of the nodes.

This bumps up the grammar to the latest, and adjusts the queries.

Co-authored-by: Anton Sviridov <keynmol@gmail.com>
Co-authored-by: Chris Kipp <ckipp@pm.me>
2 years ago
Clément Delafargue 1f6809c9ce Language support for dhall
https://dhall-lang.org/
2 years ago
Sam McCall a8248c50e1
Update tree-sitter-cpp, support injections in tagged rawstrings (#5457)
The grammar now exposes the delimiter of raw-strings.
We can now inject the inner grammar in cases like:

    const char* script = R"js(
      alert('hello world!');
    )js";
2 years ago
Matthias Wahl e65f28d41a
Add language support for ponylang (#5416)
See https://www.ponylang.io
2 years ago
Chickenkeeper 486c3ab0d5
Fix Broken Attribute Highlights (#5349)
* Update highlights.scm

* Update highlights.scm

* Update themes.md
2 years ago
Michael Davis b368df5785
Use tree-sitter-ruby for crystal (#5205) 2 years ago
Triton171 873434b927
Improve indent queries for python in specific cases (#5332)
where the tree-sitter completely fails to parse incomplete code.
2 years ago
Dom H 532531c3ca
Add runtime queries for `tfvars` (based on `hcl`) (#5396) 2 years ago
Julius de Bruijn 5627c604ef
Update Prisma tree-sitter for view support (#5417) 2 years ago
farwyler 1f4d277013
Allow custom preprocessors for 'vue' injections (#5268) 2 years ago
Michael Davis 7905086b55
Fix HTML injection within markdown (#5265)
HTML nodes should be combined injections in the markdown block
grammar. When nodes are together the highlighting works properly but
when there is markdown content between HTML nodes like in a `<details>`
tag, the highlighting of the closing tag breaks since tree-sitter-html
looks for opening and closing tags.
2 years ago
Chickenkeeper c4263d6a56
Fix & Tweak Rust's Syntax Highlighting (#5238) 2 years ago
farwyler a7146f58f0
Add missing comment injection for nix (#5208) 2 years ago
g-s-k 042d03269e
Add support for MATLAB/Octave files (#5192) 2 years ago
Jonas Everaert aecb524e50
Crystal language support (#4993) 2 years ago
gavincrawford 012fc12f97
Add Bash indents (#5149) 2 years ago
Erasin 436296b76c
Add Mermaid.js for markdown support (#5147) 2 years ago
Blaž Hrastnik bae890d8fa
Update tree-sitter-scheme 2 years ago
Ollie Charles 0e8ea13696
Add Haskell text objects (#5061) 2 years ago
Felipe S. S. Schneider d14de27709
Add support for the BibTeX file format (#5064) 2 years ago
Matouš Dzivjak 5781aa0264
feat(highlights): go builtin funcs and types (#5010)
Add highlight scopes for golang built-in functions and types.
Based on https://pkg.go.dev/builtin.
2 years ago
Blaž Hrastnik 417676953b
Add basic support for common lisp 2 years ago
farwyler 59cfe95776
Add support for single-line comments to scss (#5003) 2 years ago
Matouš Dzivjak d0bc38d6fa
feat(lang): bump tree-sitter-go (#4969)
Update tree-sitter-go to latest with updated support for generics.

See: 0fa917a702..05900faa3c
for full diff.
2 years ago
Michael Davis 67415e096e
Fix file-types declaration for racket (#4915)
Both the racket and scheme entries used the rkt file-extension. This
commit removes that entry for scheme and so that the racket entry takes
precedence. We explicitly point to the scheme grammar now and setup
queries that inherit from scheme. This should enable using the racket
language server configuration.
2 years ago
Erik Bünnig 5c213f7de4
fix(grammar): Add `block_comment` and `comment_environment` injection for latex comments (#4922) 2 years ago
Chickenkeeper bf908cc4a1
Update CSS syntax highlighting (#4882) 2 years ago
gavincrawford 583c2a5456
Fix Go variable indentation (#4906) 2 years ago
Lennard Hofmann fc811726e0
Update tree-sitter-java and add Java textobjects (#4886) 2 years ago
Michael Davis ee06d4d337 Update tree-sitter-gleam
This update includes a handful of fixes, a new binary concatenation
operator (already highlighted by the `binary_operator` rule), and a
new `use` language construct. The nodes are backwards compatible but
this update introduces two new nodes for highlighting: `use` and `<-`.
2 years ago