Improve wren support (#7819)
commitf19793c2f86dea8e7af8570563e2dd5a8da9fefb
authorJummit <jummit@web.de>
dateFri 4 Aug 2023, 15:25 (3 years ago)
parent5a51036
book/src/generated/lang-support.md+1−1
@@ -167,7 +167,7 @@
167167| webc | ✓ | | | |
168168| wgsl | ✓ | | | `wgsl_analyzer` |
169169| wit | ✓ | | ✓ | |
170−| wren | ✓ | ✓ | | |
170+| wren | ✓ | ✓ | ✓ | |
171171| xit | ✓ | | | |
172172| xml | ✓ | | ✓ | |
173173| yaml | ✓ | | ✓ | `yaml-language-server` |
languages.toml+1−1
@@ -2704,7 +2704,7 @@ grammar = "html"
27042704
27052705[[grammar]]
27062706name = "wren"
2707−source = { git = "https://git.sr.ht/~jummit/tree-sitter-wren", rev = "7f576e8ccadac226f6a37cbefe95be3fee9f0a66"}
2707+source = { git = "https://git.sr.ht/~jummit/tree-sitter-wren", rev = "793d58266924e6efcc40e411663393e9d72bec87"}
27082708
27092709[[language]]
27102710name = "wren"
runtime/queries/wren/highlights.scm+6−4
@@ -1,11 +1,11 @@
1−((identifier) @variable.builtin
1+((name) @variable.builtin
22 (#match? @variable.builtin "^(Bool|Class|Fiber|Fn|List|Map|Null|Num|Object|Range|Sequence|String|System)$"))
33
44(call_expression
5− (identifier) @function)
5+ (name) @function)
66
77(method_definition
8− (identifier) @function.method)
8+ (name) @function.method)
99
1010((parameter) @variable.parameter)
1111
@@ -13,7 +13,9 @@
1313(string) @string
1414(raw_string) @string
1515(number) @constant.numeric.integer
16−(identifier) @variable
16+(name) @variable
17+(field) @variable
18+(static_field) @variable
1719(null) @constant.builtin
1820(boolean) @constant.builtin.boolean
1921
runtime/queries/wren/indents.scmnew file+29
@@ -0,0 +1,29 @@
1+[
2+ (list)
3+ (map)
4+ (call_body)
5+ (parameter_list)
6+ (call_expression)
7+ (getter_definition)
8+ (setter_definition)
9+ (prefix_operator_definition)
10+ (subscript_operator_definition)
11+ (subscript_setter_definition)
12+ (infix_operator_definition)
13+ (method_definition)
14+ (constructor)
15+ (static_method_definition)
16+ (static_getter_definition)
17+ (attribute)
18+ (conditional)
19+ (class_body)
20+ (if_statement)
21+ (for_statement)
22+ (while_statement)
23+] @indent
24+
25+[
26+ "}"
27+ "]"
28+ ")"
29+] @outdent
runtime/queries/wren/injections.scmnew file+3
@@ -0,0 +1,3 @@
1+((comment) @injection.content
2+ (#set! injection.language "comment")
3+ (#set! injection.include-children))
runtime/queries/wren/locals.scmnew file+21
@@ -0,0 +1,21 @@
1+[
2+ (method_definition)
3+] @local.scope
4+
5+(name) @local.reference
6+(field) @local.reference
7+(static_field) @local.reference
8+
9+(for_statement
10+ loop_variable: (name) @local.definition)
11+
12+(variable_definition
13+ name: (name) @local.definition)
14+
15+(assignment
16+ left: (field) @local.definition)
17+
18+(assignment
19+ left: (static_field) @local.definition)
20+
21+(parameter) @local.definition
runtime/queries/wren/textobjects.scm+4
@@ -1,6 +1,10 @@
11(class_definition
22 (class_body) @class.inside) @class.around
33
4+(call_expression
5+ (call_body
6+ (_) @function.inside) @function.around)
7+
48(method_definition
59 body: (_) @function.inside) @function.around
610