@@ -1,5 +1,35 @@
2−(method_declaration (identifier) @type (identifier) @function)
2+(method_declaration
3+ name: (identifier) @function)
6+ type: [(identifier) (qualified_name)] @type)
9+ (member_access_expression
10+ name: (identifier) @function))
12+(invocation_expression
13+ (member_access_expression
14+ expression: (identifier) @variable))
16+(invocation_expression
17+ function: (conditional_access_expression
18+ (member_binding_expression
19+ name: (identifier) @function)))
21+(invocation_expression
22+ [(identifier) (qualified_name)] @function)
24+; Generic Method invocation with generic type
25+(invocation_expression
26+ function: (generic_name
27+ . (identifier) @function))
31+(namespace_declaration
32+ name: [(identifier) (qualified_name)] @namespace)
5(interface_declaration name: (identifier) @type)
35(interface_declaration name: (identifier) @type)
@@ -8,8 +38,10 @@
8(struct_declaration (identifier) @type)
38(struct_declaration (identifier) @type)
9(record_declaration (identifier) @type)
39(record_declaration (identifier) @type)
10(namespace_declaration name: (identifier) @type)
40(namespace_declaration name: (identifier) @type)
11−
41+(using_directive (_) @namespace)
12(constructor_declaration name: (identifier) @type)
42(constructor_declaration name: (identifier) @type)
43+(object_creation_expression [(identifier) (qualified_name)] @type)
44+(type_parameter_list (type_parameter) @type)
15 (implicit_type)
47 (implicit_type)
@@ -19,6 +51,31 @@
19 (predefined_type)
51 (predefined_type)
20] @type.builtin
52] @type.builtin
67+(object_creation_expression
23(enum_member_declaration (identifier) @variable.other.member)
80(enum_member_declaration (identifier) @variable.other.member)
@@ -66,24 +123,37 @@
87] @operator
157] @operator
@@ -131,6 +201,7 @@
133 "stackalloc"
203 "stackalloc"
@@ -157,6 +228,8 @@
158] @keyword
229] @keyword
231+(preprocessor_call) @keyword.directive
232+(preprocessor_call (_) @keyword.directive)
162(from_clause (identifier) @variable)
235(from_clause (identifier) @variable)
@@ -172,13 +245,13 @@
172 (identifier) @variable)))
245 (identifier) @variable)))
175−(binary_expression (identifier) @variable (identifier) @variable)
248+(binary_expression [(identifier) (qualified_name)] @variable [(identifier) (qualified_name)] @variable)
176−(binary_expression (identifier)* @variable)
249+(binary_expression [(identifier) (qualified_name)]* @variable)
177−(conditional_expression (identifier) @variable)
250+(conditional_expression [(identifier) (qualified_name)] @variable)
178−(prefix_unary_expression (identifier) @variable)
251+(prefix_unary_expression [(identifier) (qualified_name)] @variable)
179−(postfix_unary_expression (identifier)* @variable)
252+(postfix_unary_expression [(identifier) (qualified_name)]* @variable)
180−(assignment_expression (identifier) @variable)
253+(assignment_expression [(identifier) (qualified_name)] @variable)
181−(cast_expression (identifier) @type (identifier) @variable)
254+(cast_expression [(identifier) (qualified_name)] @type [(identifier) (qualified_name)] @variable)
184(base_list (identifier) @type)
257(base_list (identifier) @type)
@@ -192,6 +265,10 @@
192(property_declaration
265(property_declaration
193 type: (identifier) @type
266 type: (identifier) @type
194 name: (identifier) @variable)
267 name: (identifier) @variable)
271+(delegate_declaration (identifier) @type)
197(lambda_expression) @variable
274(lambda_expression) @variable
@@ -206,12 +283,20 @@
206(parameter (identifier) @variable.parameter)
283(parameter (identifier) @variable.parameter)
207(parameter_modifier) @keyword
284(parameter_modifier) @keyword
288+ name: (identifier) @parameter))
292+ type: [(identifier) (qualified_name)] @type))
210−(type_of_expression (identifier) @type)
295+(type_of_expression [(identifier) (qualified_name)] @type)
212;; Variable
297;; Variable
213−(variable_declaration (identifier) @type)
298+(variable_declaration [(identifier) (qualified_name)] @type)
214−(variable_declarator (identifier) @variable)
299+(variable_declarator [(identifier) (qualified_name)] @variable)
217(return_statement (identifier) @variable)
302(return_statement (identifier) @variable)
@@ -219,8 +304,8 @@
221(generic_name (identifier) @type)
306(generic_name (identifier) @type)
222−(type_parameter (identifier) @variable.parameter)
307+(type_parameter [(identifier) (qualified_name)] @variable.parameter)
223−(type_argument_list (identifier) @type)
308+(type_argument_list [(identifier) (qualified_name)] @type)
225;; Type constraints
310;; Type constraints
226(type_parameter_constraints_clause (identifier) @variable.parameter)
311(type_parameter_constraints_clause (identifier) @variable.parameter)
@@ -236,3 +321,16 @@
237;; Lock statement
322;; Lock statement
238(lock_statement (identifier) @variable)
323(lock_statement (identifier) @variable)
326+(member_access_expression) @variable
327+(element_access_expression (identifier) @variable)
328+(argument (identifier) @variable)
329+(for_statement (identifier) @variable)
330+(for_each_statement (identifier) @variable)
331+(expression_statement (identifier) @variable)
332+(member_access_expression expression: (identifier) @variable)
333+(member_access_expression name: (identifier) @variable)
334+(conditional_access_expression [(identifier) (qualified_name)] @variable)
335+((identifier) @comment.unused
336+ (#eq? @comment.unused "_"))