@@ -17,8 +17,11 @@
1717
1818; Function definitions
1919
20−(function_definition (name) @function)
20+(function_definition
21+ name: (name) @function
22+ parameters: (parameters) @variable.parameter )
2123(constructor_definition "_init" @function)
24+(lambda (parameters) @variable.parameter)
2225
2326
2427;; Literals
@@ -28,9 +31,28 @@
2831(type) @type
2932(expression_statement (array (identifier) @type))
3033(binary_operator (identifier) @type)
34+(enum_definition (name) @type.enum)
35+(enumerator (identifier) @type.enum.variant)
36+[
37+ (null)
38+ (underscore)
39+] @type.builtin
40+
3141
3242(variable_statement (identifier) @variable)
33−(get_node) @label
43+(attribute
44+ (identifier)
45+ (identifier) @variable.other.member)
46+(attribute
47+ (identifier) @type.builtin
48+ (#match? @type.builtin "^(AABB|Array|Basis|bool|Callable|Color|Dictionary|float|int|NodePath|Object|Packed(Byte|Color|String)Array|PackedFloat(32|64)Array|PackedInt(32|64)Array|PackedVector(2|3)Array|Plane|Projection|Quaternion|Rect2([i]{0,1})|RID|Signal|String|StringName|Transform(2|3)D|Variant|Vector(2|3|4)([i]{0,1}))$"))
49+
50+[
51+ (string_name)
52+ (node_path)
53+ (get_node)
54+] @label
55+(signal_statement (name) @label)
3456
3557(const_statement (name) @constant)
3658(integer) @constant.numeric.integer
@@ -40,7 +62,6 @@
4062 (true)
4163 (false)
4264] @constant.builtin.boolean
43−(null) @constant.builtin
4465
4566[
4667 "+"
@@ -66,6 +87,7 @@
6687 "~"
6788 "<<"
6889 ">>"
90+ ":="
6991] @operator
7092
7193(annotation (identifier) @keyword.storage.modifier)
@@ -74,6 +96,7 @@
7496 "if"
7597 "else"
7698 "elif"
99+ "match"
77100] @keyword.control.conditional
78101
79102[
@@ -100,7 +123,6 @@
100123 "in"
101124 "is"
102125 "as"
103− "match"
104126 "and"
105127 "or"
106128 "not"
@@ -128,5 +150,6 @@
128150 "extends"
129151 "set"
130152 "get"
153+ "await"
131154] @keyword
132155