Commit Graph

490 Commits (a38ec6d6ca9e5dbbd2e313f3173f2e967ed71fc1)

Author SHA1 Message Date
Ollie Charles 8424f387b5
Remove `tree-sitter-cabal` (#6996) 2023-05-09 21:31:22 +02:00
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
2023-04-28 18:21:34 +09:00
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>
2023-04-27 16:32:21 +02:00
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
2023-04-27 14:37:17 +09:00
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.
2023-04-25 18:05:23 -05:00
Matthew Toohey 99a8b6159c Fix go locals query for var_spec identifiers 2023-04-16 18:32:00 +02:00
VuiMuich 4cdba7cccd
Add standalone language support for `just` (#6453)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-04-14 17:03:21 +02:00
Farzin bb27542199
Fix python highlights to support single character and alphanumeric constant identifier (#6751) 2023-04-14 09:34:40 +09:00
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
2023-04-12 15:28:51 -05:00
lefp fff8543b58
Add OpenCL tree-sitter and LSP config (#6473) 2023-04-12 14:42:41 -05:00
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
2023-04-12 10:28:03 -05:00
Farzin fed5e6e646
Highlight C/C++ escape sequences (#6724) 2023-04-12 09:55:22 -05:00
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.
2023-04-12 09:36:57 -05:00
Ollie Charles deab323c28
Update tree-sitter-haskell (#6317) 2023-04-12 09:35:01 -05:00
Ollie Charles 92c5f5f18c
Initial Cabal language support (#6485) 2023-04-12 08:38:11 -05:00
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.
2023-04-11 00:52:03 +09:00
Arnar 6dabd36491
Update gleam grammar (#6641) 2023-04-09 14:23:01 -05:00
karei 1148ce1fd9
Add support for Robot Framework files (#6611)
* Add support for Robot Framework files

* Run docgen
2023-04-07 08:19:48 +08:00
Danillo Melo 3dd715a115
Update Ruby Highlights (#6587)
* update ruby highlights

* Updated SQL injection.scm

* Move private, public, protected to builtin methods
2023-04-07 00:37:45 +08:00
Clara Hobbs 4b32b544fc
Add textobject queries for Julia (#6588)
* Add textobjects queries for Julia

* Update docs for Julia textobject queries
2023-04-07 00:35:05 +08:00
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
2023-04-07 00:26:41 +08:00
Clara Hobbs d284444eb4
Add indents.scm for Julia (#6490)
* Add indents.scm for Julia

* Update documentation for new indent support
2023-03-31 10:32:36 +09:00
Clara Hobbs fc9229c846
Add injection for markdown strings (#6489) 2023-03-31 10:32:27 +09:00
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.
2023-03-27 15:27:38 +09:00
JJ c8fde8b6f9
Initial Nim language support (#6123) 2023-03-26 17:06:48 -05:00
Juan C. Müller 5d7c90c5cf
Add language support for rego (OpenPolicyAgent) (#6415) 2023-03-26 16:49:37 -05:00
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.
2023-03-25 12:10:54 -05:00
Erasin Wang 851ac6cdd3
Add theme keys for (un)checked markup list items (#6434) 2023-03-25 11:41:31 -05:00
Thor Adam 346ddd4735
Add `switch_statement` to ecma indents (#6369) 2023-03-21 17:13:32 -05:00
zetashift 0e0c16e6fa
Add initial Smithy support (#6370) 2023-03-21 17:12:24 -05:00
angelodlfrtr ac2a7731a6
Add language support for Cap’n Proto format (#6325) 2023-03-18 09:17:02 -05:00
Erasin Wang b20cf15eef
Update queries for makefile (#6339)
- update variable and ref as paramter
- add target as constant
- add inject for shell_text
2023-03-17 09:48:57 -05:00
Erasin Wang fb56a4bb75
Improve tree-sitter queries for vlang (#6279)
- Update hightlight
- add indents
- add textobject
- add injections
2023-03-15 16:22:24 -05:00
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
2023-03-15 16:20:59 -05:00
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'.
2023-03-14 10:56:49 +09:00
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.
2023-03-14 10:56:49 +09:00
Ivan 955eb5b2de
queries/php: add missing keywords `unset` and `clone` (#6299) 2023-03-13 19:21:44 -05:00
Blaž Hrastnik 81601b1c6c
fix: C++ namespace indentation
fixes #6235
2023-03-11 11:50:11 +09:00
Maxicarlos08 3d230e701d
Also highlight unchecked variants of the sqlx query methods (#6256) 2023-03-10 16:57:52 -06:00
Ivan 3907358103
queries/php: add injections for regex and sql injection (#6250) 2023-03-10 16:56:18 -06:00
Philipp Mildenberger 98415f288f
Improved yuck highlighting (and parser), and introduced a tag.builtin scope (#6242) 2023-03-10 10:32:45 -06:00
Erasin Wang 0e5a4e55a4
Update highlights for golang (#6204)
- update tree-sitter-go
- refine keywords
- set package as namespace
- add label
2023-03-07 18:33:13 -06:00
Erasin Wang 622f90a157
Update highlight for PHP (#6203)
- update tree-sitter-php
- add basic types, operator
- refine keyword
2023-03-07 18:28:44 -06:00
Erasin Wang bc50502b1e
Update highlight for ecma/js/ts (#6205) 2023-03-06 10:15:03 -06:00
Erasin Wang e6597bc992
Update queries for godot4 (#6186) 2023-03-05 12:41:18 -06:00
Roberto Vidal 725d9aecf0
Add support for reStructuredText (#6180) 2023-03-04 20:36:01 -06:00
Matthias Q 2bd8bc8d84
feat(prql): add prql support (#6126) 2023-03-03 13:12:37 -06:00
István Donkó 2d5577dbe6
Extend the set of tags highlighted in comments (#6143) 2023-03-03 10:03:03 -06:00
Mathieu Agopian 98a3d46912
Add elm treesitter textobjects (#6084) 2023-02-25 12:55:44 -06:00
Matthew Toohey a4049e6f55
feat: add nasm language (#6068) 2023-02-25 12:53:37 -06:00
Sophie Dankel f69bb41169
Add language support for sway (#6023) 2023-02-25 12:47:54 -06:00
Matthias Deiml 0cbb61c3a4
Improve markdown highlights and add latex injection (#6100) 2023-02-25 12:40:02 -06:00
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
2023-02-22 18:04:33 -06:00
Erasin 864ee8fdef
Add GNU gettext PO grammar (#5996) 2023-02-20 17:04:17 -06:00
Philipp Mildenberger b89b2eaf68
Added yuck language support (for eww) (#6064) 2023-02-20 16:42:54 -06:00
Jummit 5ff2cb24e2
Add support for the uxntal language (#6047) 2023-02-19 12:32:42 -06:00
Skyler Hawthorne 71220da139
Update tree-sitter-git-rebase (#6030) 2023-02-19 11:34:47 -06:00
Jared Beller 87518db1d1
dhall: additional highlight queries (#5959) 2023-02-13 11:04:31 +09:00
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
2023-02-12 14:03:02 -06:00
ath3 1840d775c8
Added tree-sitter-hosts (#4950) 2023-02-10 11:32:04 -06:00
ath3 189c3c2ddc
Add tree-sitter-passwd (#4959) 2023-02-10 11:12:46 -06:00
gavincrawford 00ecc556a8
Fix Go select indenting (#5713)
* Fix Go  indenting

* Fix bracket outdent predicate

* Fix brace indenting (again)
2023-02-08 16:17:34 +09:00
Matthew Toohey 05c5207265
feat: add pem language (#5797) 2023-02-07 17:24:26 -06:00
Brett Lyons d8f482e11e
Add MSBuild language based on XML grammar (#5793) 2023-02-03 08:24:22 -06:00
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
2023-02-02 16:44:36 -06:00
Eric Crosson 447909e4d0
Modify env language to extend bash (#5720)
Additionally, add `.envrc` to the `env`-supported file types.
2023-01-30 08:56:42 -06:00
LeoniePhiline 482cc22fec
Update tree-sitter-sql and improve highlight queries (#5683) 2023-01-28 14:15:53 -06:00
pacien 22b3d3d636
queries/nix: add injections for builtins and writers (#5629) 2023-01-25 16:44:24 -06:00
Eloi Torrents 7e191f5915
Support sagemath language (#5649) 2023-01-23 12:10:27 -06:00
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>
2023-01-19 11:26:12 -06:00
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>
2023-01-16 09:48:17 -06:00
Clément Delafargue 1f6809c9ce Language support for dhall
https://dhall-lang.org/
2023-01-13 09:42:05 -06:00
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";
2023-01-10 19:57:10 -06:00
Matthias Wahl e65f28d41a
Add language support for ponylang (#5416)
See https://www.ponylang.io
2023-01-10 19:54:19 -06:00
Chickenkeeper 486c3ab0d5
Fix Broken Attribute Highlights (#5349)
* Update highlights.scm

* Update highlights.scm

* Update themes.md
2023-01-09 11:26:08 +09:00
Michael Davis b368df5785
Use tree-sitter-ruby for crystal (#5205) 2023-01-09 02:12:04 +09:00
Triton171 873434b927
Improve indent queries for python in specific cases (#5332)
where the tree-sitter completely fails to parse incomplete code.
2023-01-07 14:39:31 +09:00
Dom H 532531c3ca
Add runtime queries for `tfvars` (based on `hcl`) (#5396) 2023-01-06 06:59:13 -06:00
Julius de Bruijn 5627c604ef
Update Prisma tree-sitter for view support (#5417) 2023-01-06 06:12:51 -06:00
farwyler 1f4d277013
Allow custom preprocessors for 'vue' injections (#5268) 2022-12-27 08:57:09 -06:00
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.
2022-12-23 10:21:02 +09:00
Chickenkeeper c4263d6a56
Fix & Tweak Rust's Syntax Highlighting (#5238) 2022-12-21 17:10:45 -06:00
farwyler a7146f58f0
Add missing comment injection for nix (#5208) 2022-12-19 17:40:08 -06:00
g-s-k 042d03269e
Add support for MATLAB/Octave files (#5192) 2022-12-17 13:44:08 -06:00
Jonas Everaert aecb524e50
Crystal language support (#4993) 2022-12-17 13:34:00 -06:00
gavincrawford 012fc12f97
Add Bash indents (#5149) 2022-12-14 08:42:11 -06:00
Erasin 436296b76c
Add Mermaid.js for markdown support (#5147) 2022-12-14 07:51:00 -06:00
Blaž Hrastnik bae890d8fa
Update tree-sitter-scheme 2022-12-12 17:50:12 +09:00
Ollie Charles 0e8ea13696
Add Haskell text objects (#5061) 2022-12-10 14:03:18 -06:00
Felipe S. S. Schneider d14de27709
Add support for the BibTeX file format (#5064) 2022-12-08 22:33:08 -06:00
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.
2022-12-06 00:16:25 +09:00
Blaž Hrastnik 417676953b
Add basic support for common lisp 2022-12-05 14:40:41 +09:00
farwyler 59cfe95776
Add support for single-line comments to scss (#5003) 2022-12-04 09:45:31 -06:00
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.
2022-12-02 08:06:35 -06:00
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.
2022-11-30 23:27:08 +09:00
Erik Bünnig 5c213f7de4
fix(grammar): Add `block_comment` and `comment_environment` injection for latex comments (#4922) 2022-11-28 09:19:16 -06:00
Chickenkeeper bf908cc4a1
Update CSS syntax highlighting (#4882) 2022-11-27 19:11:12 -06:00
gavincrawford 583c2a5456
Fix Go variable indentation (#4906) 2022-11-27 09:36:52 -06:00
Lennard Hofmann fc811726e0
Update tree-sitter-java and add Java textobjects (#4886) 2022-11-26 10:17:10 -06:00
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 `<-`.
2022-11-24 11:07:05 +09:00