Add highlight support for tree-sitter-query language (tsq) (#845)

* add submodule on tree-sitter/tree-sitter-tsq

mark tsq submodule as shallow

* add tree-sitter-tsq to languages

* add highlight queries for tsq

* Update .gitmodules

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
This commit is contained in:
Michael Davis 2021-10-16 03:58:04 -05:00 committed by GitHub
parent 43465926be
commit e069fb9dea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 59 additions and 0 deletions

4
.gitmodules vendored
View file

@ -126,3 +126,7 @@
path = helix-syntax/languages/tree-sitter-vue
url = https://github.com/ikatyang/tree-sitter-vue
shallow = true
[submodule "helix-syntax/languages/tree-sitter-tsq"]
path = helix-syntax/languages/tree-sitter-tsq
url = https://github.com/tree-sitter/tree-sitter-tsq
shallow = true

@ -0,0 +1 @@
Subproject commit b665659d3238e6036e22ed0e24935e60efb39415

View file

@ -328,3 +328,11 @@ language-server = { command = "swipl", args = [
"-g", "use_module(library(lsp_server))",
"-g", "lsp_server:main",
"-t", "halt", "--", "stdio"] }
[[language]]
name = "tsq"
scope = "source.tsq"
file-types = ["scm"]
roots = []
comment-token = ";"
indent = { tab-width = 2, unit = " " }

View file

@ -0,0 +1,46 @@
; mark the string passed #match? as a regex
(((predicate_name) @function
(capture)
(string) @string.regexp)
(#eq? @function "#match?"))
; highlight inheritance comments
((query . (comment) @keyword.directive)
(#match? @keyword.directive "^;\ +inherits *:"))
[
"("
")"
"["
"]"
] @punctuation.bracket
":" @punctuation.delimiter
[
(one_or_more)
(zero_or_one)
(zero_or_more)
] @operator
[
(wildcard_node)
(anchor)
] @constant.builtin
[
(anonymous_leaf)
(string)
] @string
(comment) @comment
(field_name) @property
(capture) @label
(predicate_name) @function
(escape_sequence) @escape
(node_name) @variable