aboutsummaryrefslogtreecommitdiffstats
path: root/queries/wing/highlights.scm
diff options
context:
space:
mode:
Diffstat (limited to 'queries/wing/highlights.scm')
-rw-r--r--queries/wing/highlights.scm86
1 files changed, 86 insertions, 0 deletions
diff --git a/queries/wing/highlights.scm b/queries/wing/highlights.scm
new file mode 100644
index 000000000..7fdf3a8f3
--- /dev/null
+++ b/queries/wing/highlights.scm
@@ -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