@@ -1,44 +1,78 @@
1−; Identifier naming conventions
3−((identifier) @constant
4− (#match? @constant "^[A-Z_]*$"))
6−((identifier) @constructor
7− (#match? @constructor "^[A-Z]"))
14− "^(bool|bytes|dict|float|frozenset|int|list|set|str|tuple)$"))
16−(type (identifier)) @type
18; Builtin functions
1; Builtin functions
21 function: (identifier) @function.builtin)
4 function: (identifier) @function.builtin)
23 @function.builtin
6 @function.builtin
24− "^(abs|all|any|ascii|bin|breakpoint|bytearray|callable|chr|classmethod|compile|complex|delattr|dir|divmod|enumerate|eval|exec|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|property|range|repr|reversed|round|setattr|slice|sorted|staticmethod|sum|super|type|vars|zip|__import__)$"))
7+ "^(abs|all|any|ascii|bin|bool|breakpoint|bytearray|bytes|callable|chr|classmethod|compile|complex|delattr|dict|dir|divmod|enumerate|eval|exec|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|isinstance|issubclass|iter|len|list|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|property|range|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|vars|zip|__import__)$"))
26; Function calls
9; Function calls
28−(decorator) @function
11+(call
12+ function: (attribute attribute: (identifier) @constructor)
13+ (#match? @constructor "^[A-Z]"))
15+ function: (identifier) @constructor
16+ (#match? @constructor "^[A-Z]"))
31 function: (attribute attribute: (identifier) @function.method))
19 function: (attribute attribute: (identifier) @function.method))
33 function: (identifier) @function)
22 function: (identifier) @function)
35; Function definitions
24; Function definitions
27+ name: (identifier) @constructor
28+ (#match? @constructor "^(__new__|__init__)$"))
37(function_definition
30(function_definition
38 name: (identifier) @function)
31 name: (identifier) @function)
36+(decorator (identifier) @function)
40+((identifier) @variable.builtin
41+ (#match? @variable.builtin "^(self|cls)$"))
40−(identifier) @variable
43+(parameters (identifier) @variable.parameter)
44+(parameters (typed_parameter (identifier) @variable.parameter))
48+((identifier) @type.builtin
51+ "^(bool|bytes|dict|float|frozenset|int|list|set|str|tuple)$"))
53+; In type hints make everything types to catch non-conforming identifiers
54+; (e.g., datetime.datetime) and None
55+(type [(identifier) (none)] @type)
56+; Handle [] . and | nesting 4 levels deep
58+ (_ [(identifier) (none)]? @type
59+ (_ [(identifier) (none)]? @type
60+ (_ [(identifier) (none)]? @type
61+ (_ [(identifier) (none)]? @type)))))
63+(class_definition name: (identifier) @type)
64+(class_definition superclasses: (argument_list (identifier) @type))
68+((identifier) @constant
69+ (#match? @constant "^[A-Z_]{2,}$"))
72+ (#match? @type "^[A-Z]"))
41(attribute attribute: (identifier) @variable.other.member)
74(attribute attribute: (identifier) @variable.other.member)
75+(identifier) @variable