feat(wing): add parser (#5021)

Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
This commit is contained in:
Glib Shpychka 2023-06-29 13:34:46 +03:00 committed by GitHub
parent 99a7e8d268
commit f460cc8ee7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 147 additions and 0 deletions

View file

@ -0,0 +1,86 @@
(identifier) @variable
(reference_identifier) @variable
(member_identifier) @property
; Classes
(custom_type) @type
(class_field
name: (identifier) @field)
(class_definition
name: (identifier) @type)
(method_definition
name: (identifier) @method)
(inflight_method_definition
name: (identifier) @method)
; Functions
(keyword_argument_key) @parameter
(call
caller: (reference
(nested_identifier
property: (member_identifier) @method.call)))
(call
caller: (reference
(reference_identifier) @method.call))
; Primitives
(number) @number
(duration) @constant
(string) @string
(bool) @boolean
(builtin_type) @type.builtin
(json_container_type) @type.builtin
; Special
(comment) @comment
[
"("
")"
"{"
"}"
] @punctuation.bracket
[
"-"
"+"
"*"
"/"
"%"
"<"
"<="
"="
"=="
"!"
"!="
">"
">="
"&&"
"??"
"||"
] @operator
[
";"
"."
","
] @punctuation.delimiter
[
"as"
"bring"
"class"
"else"
"for"
"if"
"in"
"init"
"let"
"new"
"return"
(inflight_specifier)
] @keyword