aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorJummit2023-07-28 16:13:51 +0000
committerGitHub2023-07-28 16:13:51 +0000
commit9a4890f62bd907a37ee79e1a3690c75fc80e9724 (patch)
tree6cc0b84f4c79477702c4abca02fe0279cf049043 /runtime
parentd6856cfeec14305b3405a6aee90c73c80b41e48f (diff)
Add wren support (#7765)
Diffstat (limited to 'runtime')
-rw-r--r--runtime/queries/wren/highlights.scm80
-rw-r--r--runtime/queries/wren/textobjects.scm12
2 files changed, 92 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)
diff --git a/runtime/queries/wren/textobjects.scm b/runtime/queries/wren/textobjects.scm
new file mode 100644
index 00000000..24898124
--- /dev/null
+++ b/runtime/queries/wren/textobjects.scm
@@ -0,0 +1,12 @@
+(class_definition
+ (class_body) @class.inside) @class.around
+
+(method_definition
+ body: (_) @function.inside) @function.around
+
+(parameter_list
+ ((_) @parameter.inside . ","? @parameter.around) @parameter.around)
+
+(comment) @comment.inside
+
+(comment)+ @comment.around