@@ -2,15 +2,63 @@
12+ (qualified_name (name) @type)])
16+ (qualified_name (name) @type)])
19+ name: (name) @type.enum)
6−(primitive_type) @type.builtin
21+(interface_declaration
7−(cast_type) @type.builtin
22+ name: (name) @constructor)
8−(named_type (name) @type) @type
23+
9−(named_type (qualified_name) @type) @type
24+(class_declaration
25+ name: (name) @constructor)
28+ name:(name) @constructor)
11(namespace_definition
30(namespace_definition
12 name: (namespace_name (name) @namespace))
31 name: (namespace_name (name) @namespace))
33+(namespace_name_as_prefix
34+ (namespace_name (name) @namespace))
38+ (qualified_name (name) @type) ])
40+(namespace_aliasing_clause (name) @namespace)
42+(class_interface_clause
44+ (qualified_name (name) @type)])
46+(scoped_call_expression
48+ (qualified_name (name) @type)])
50+(class_constant_access_expression
51+ . [(name) @constructor
52+ (qualified_name (name) @constructor)]
55+(use_declaration (name) @type)
58+ operator: "instanceof"
60+ (qualified_name (name) @type)])
14; Superglobals
62; Superglobals
15(subscript_expression
63(subscript_expression
16 (variable_name(name) @constant.builtin
64 (variable_name(name) @constant.builtin
@@ -36,6 +84,21 @@
36(function_definition
84(function_definition
37 name: (name) @function)
85 name: (name) @function)
87+(nullsafe_member_call_expression
88+ name: (name) @function.method)
90+(object_creation_expression
92+ (qualified_name (name) @constructor)])
101+ (name) @variable.parameter)
@@ -62,68 +125,192 @@
63(variable_name) @variable
126(variable_name) @variable
129+(attribute_list) @attribute
65; Basic tokens
131; Basic tokens
67−(string) @string
134+ (string)
68−(heredoc) @string
135+ (encapsed_string)
138+ (shell_command_expression)
140+(escape_sequence) @constant.character.escape
69(boolean) @constant.builtin.boolean
142(boolean) @constant.builtin.boolean
70(null) @constant.builtin
143(null) @constant.builtin
71(integer) @constant.numeric.integer
144(integer) @constant.numeric.integer
72(float) @constant.numeric.float
145(float) @constant.numeric.float
73(comment) @comment
146(comment) @comment
75−"$" @operator
148+(goto_statement (name) @label)
149+(named_label_statement (name) @label)
77; Keywords
151; Keywords
89 "default"
154 "default"
100 "extends"
157 "extends"
102− "finally"
159+ "goto"
106 "global"
160 "global"
108 "implements"
161 "implements"
111 "insteadof"
162 "insteadof"
116 "private"
164 "private"
117 "protected"
165 "protected"
118 "public"
166 "public"
181+] @keyword.control.conditional
191+] @keyword.control.repeat
119 "require_once"
197 "require_once"
120 "require"
198 "require"
200+] @keyword.control.import
121 "return"
203 "return"
122− "static"
204+ "break"
123− "switch"
205+ "continue"
207+] @keyword.control.return
128− "while"
213+ "finally"
214+] @keyword.control.exception
235+] @keyword.storage.type
129−] @keyword
240+] @keyword.storage.modifier
247+ ] @punctuation.delimiter
259+] @punctuation.bracket