aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/wren/highlights.scm
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/wren/highlights.scm')
-rw-r--r--runtime/queries/wren/highlights.scm80
1 files changed, 80 insertions, 0 deletions
diff --git a/runtime/queries/wren/highlights.scm b/runtime/queries/wren/highlights.scm
new file mode 100644
index 00000000..5454ce25
--- /dev/null
+++ b/runtime/queries/wren/highlights.scm
@@ -0,0 +1,80 @@
+((identifier) @variable.builtin
+ (#match? @variable.builtin "^(Bool|Class|Fiber|Fn|List|Map|Null|Num|Object|Range|Sequence|String|System)$"))
+
+(call_expression
+ (identifier) @function)
+
+(method_definition
+ (identifier) @function.method)
+
+((parameter) @variable.parameter)
+
+(comment) @comment
+(string) @string
+(raw_string) @string
+(number) @constant.numeric.integer
+(identifier) @variable
+(null) @constant.builtin
+(boolean) @constant.builtin.boolean
+
+(if_statement
+[
+ "if"
+ "else"
+] @keyword.control.conditional)
+
+(for_statement
+[
+ "for"
+ "in"
+] @keyword.control.repeat)
+
+(while_statement
+[
+ "while"
+] @keyword.control.repeat)
+
+[
+ (break_statement)
+ (continue_statement)
+ (return_statement)
+] @keyword.control.return
+
+(class_definition
+"is"
+@keyword)
+
+[
+ "import"
+ "for"
+ "as"
+] @keyword.control.import
+
+[
+ "is"
+] @keyword
+
+(operator) @operator
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+["," "."] @punctuation.delimiter
+
+[
+ "class"
+ "var"
+] @keyword.storage.type
+
+[
+ "static"
+] @keyword.storage.modifier
+
+(constructor
+ ["construct"] @constructor)