feat(gren): gren parser and queries (#7237)

This commit is contained in:
Mae Brooks 2024-10-15 18:14:39 -07:00 committed by GitHub
parent da92610392
commit d0f567251b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 137 additions and 0 deletions

View file

@ -278,6 +278,9 @@
"gpg": {
"revision": "f99323fb8f3f10b6c69db0c2f6d0a14bd7330675"
},
"gren": {
"revision": "19cd4c08ef86afb6fa7566fee9ac642e53b996d5"
},
"graphql": {
"revision": "5e66e961eee421786bdda8495ed1db045e06b5fe"
},

View file

@ -850,6 +850,14 @@ list.gpg = {
maintainers = { "@ObserverOfTime" },
}
list.gren = {
install_info = {
files = { "src/parser.c", "src/scanner.c" },
url = "https://github.com/MaeBrooks/tree-sitter-gren",
},
maintainers = { "@MaeBrooks" },
}
list.groovy = {
install_info = {
url = "https://github.com/murtaza64/tree-sitter-groovy",

121
queries/gren/highlights.scm Normal file
View file

@ -0,0 +1,121 @@
; Keywords
[
(as)
(port)
(exposing)
(alias)
(infix)
] @keyword
; Keywords - Conditionals
[
"if"
"then"
"else"
"let"
"in"
(case)
(of)
] @keyword.conditional
; Keywords - Imports
[
(import)
(module)
] @keyword.import
; Operators
[
(arrow)
(backslash)
(colon)
(operator_identifier)
(eq)
] @operator
; Punctuation
[
"("
")"
"{"
"}"
"["
"]"
] @punctuation.bracket
[
","
"|"
(dot)
] @punctuation.delimiter
; Comments
[
(block_comment)
(line_comment)
] @comment
; Strings
[
(close_quote)
(open_quote)
(regular_string_part)
] @string
; Strings - Escape
(string_escape) @string.escape
; Characters
[
(open_char)
(close_char)
] @character
(type_annotation
(lower_case_identifier) @function)
(port_annotation
(lower_case_identifier) @function)
(function_declaration_left
(lower_case_identifier) @function)
(function_call_expr
target: (value_expr) @function)
(field_access_expr
(value_expr
(value_qid) @variable.member))
(lower_pattern) @variable.parameter
(record_base_identifier) @variable
(number_constant_expr) @number
(type) @keyword.type
(type_declaration
(upper_case_identifier) @type)
(type_ref) @type
(type_alias_declaration
name: (upper_case_identifier) @type)
(union_variant
(upper_case_identifier) @type)
(union_pattern
constructor: (upper_case_qid
(upper_case_identifier) @label
(dot)
(upper_case_identifier) @type))
(union_pattern
constructor: (upper_case_qid
(upper_case_identifier) @type))
(value_expr
(upper_case_qid
(upper_case_identifier)) @type)

View file

@ -0,0 +1,5 @@
([
(line_comment)
(block_comment)
] @injection.content
(#set! injection.language "comment"))