@@ -0,0 +1,218 @@
5+ (member_access_expression (identifier) @constant)
6+ (#match? @constant "^[A-Z][A-Z_0-9]*$")
10+ (member_access_expression (member_access_expression) @namespace (identifier) @constant)
11+ (#match? @constant "^[A-Z][A-Z_0-9]*$")
16+(type (symbol (_)? @namespace (identifier) @type))
18+; highlight creation methods in object creation expressions
20+ (object_creation_expression (type (symbol (symbol (symbol)? @namespace (identifier) @type) (identifier) @constructor)))
21+ (#match? @constructor "^[a-z][a-z_0-9]*$")
24+(unqualified_type (symbol . (identifier) @type))
25+(unqualified_type (symbol (symbol) @namespace (identifier) @type))
27+(attribute) @variable.other.member
28+(method_declaration (symbol (symbol) @type (identifier) @function))
29+(method_declaration (symbol (identifier) @function))
30+(local_function_declaration (identifier) @function)
31+(destructor_declaration (identifier) @function)
32+(creation_method_declaration (symbol (symbol (identifier) @type) (identifier) @constructor))
33+(creation_method_declaration (symbol (identifier) @constructor))
34+(enum_declaration (symbol) @type)
35+(enum_value (identifier) @constant)
36+(errordomain_declaration (symbol) @type)
37+(errorcode (identifier) @constant)
38+(constant_declaration (identifier) @constant)
39+(method_call_expression (member_access_expression (identifier) @function))
40+(lambda_expression (identifier) @variable.parameter)
41+(parameter (identifier) @variable.parameter)
42+(property_declaration (symbol (identifier) @variable.other.member))
43+(field_declaration (identifier) @variable)
44+(identifier) @variable
50+(boolean) @constant.builtin.boolean
51+(character) @constant.character
52+(integer) @constant.numeric.integer
53+(null) @constant.builtin
54+(real) @constant.numeric.float
55+(regex) @string.regexp
61+(template_string) @string
62+(template_string_expression) @string.special
63+(verbatim_string) @string
135+(symbol "global::" @namespace)
137+(array_creation_expression "new" @keyword.operator)
138+(object_creation_expression "new" @keyword.operator)
139+(argument "out" @keyword.operator)
140+(argument "ref" @keyword.operator)
148+] @keyword.control.repeat
156+] @keyword.control.exception
161+] @keyword.control.return
209+] @punctuation.delimiter
218+] @punctuation.bracket