feat: add angular parser and queries

This commit is contained in:
Christian Clason 2023-11-24 10:25:47 +01:00
parent 9d91101f71
commit 1e74c34b66
4 changed files with 99 additions and 0 deletions

View file

@ -5,6 +5,9 @@
"agda": {
"revision": "c21c3a0f996363ed17b8ac99d827fe5a4821f217"
},
"angular": {
"revision": "624ff108fe949727217cddb302f20e4f16997b1c"
},
"apex": {
"revision": "82ee140f4ee7652a4915ac9e9f60c4d66f7637d7"
},

View file

@ -93,6 +93,14 @@ list.agda = {
maintainers = { "@Decodetalkers" },
}
list.angular = {
install_info = {
url = "https://github.com/steelsojka/tree-sitter-angular",
files = { "src/parser.c" },
},
maintainers = {"@steelsojka"}
}
list.apex = {
install_info = {
url = "https://github.com/aheber/tree-sitter-sfapex",

View file

@ -0,0 +1,67 @@
(identifier) @variable
(pipe_sequence "|" @operator)
(string) @string
(number) @number
(pipe_call
name: (identifier) @function)
(pipe_call
arguments: (pipe_arguments
(identifier) @parameter))
(structural_assignment
operator: (identifier) @keyword)
(member_expression
property: (identifier) @property)
(call_expression
function: (identifier) @function)
(call_expression
function: ((identifier) @function.builtin
(#eq? @function.builtin "$any")))
[
"let"
"as"
] @keyword
[
"("
")"
"["
"]"
"{"
"}"
] @punctuation.bracket
[
";"
"."
","
"?."
] @punctuation.delimiter
((identifier) @boolean
(#vim-match? @boolean "^(true|false)$"))
((identifier) @variable.builtin
(#vim-match? @variable.builtin "^(this|\$event|null)$"))
[
"-"
"&&"
"+"
"<"
"<="
"="
"=="
"==="
"!="
"!=="
">"
">="
"*"
"/"
"||"
"%"
] @operator

View file

@ -74,3 +74,24 @@
(#lua-match? @_name "^on[a-z]+$")
(quoted_attribute_value (attribute_value) @injection.content)
(#set! injection.language "javascript"))
(attribute
((attribute_name) @_name
(#lua-match? @_name "[%[%(].*[%)%]]"))
(quoted_attribute_value
(attribute_value) @injection.content)
(#set! injection.language "angular"))
(attribute
((attribute_name) @_name
(#lua-match? @_name "^%*"))
(quoted_attribute_value
((attribute_value) @injection.content))
(#set! injection.language "angular"))
(element
((text) @injection.content
(#lua-match? @injection.content "%{%{.*%}%}")
(#offset! @injection.content 0 2 0 -2))
(#set! injection.language "angular"))