@@ -1,3 +1,6 @@
2+ (identifier)* @namespace)
1; Builtin functions
4; Builtin functions
@@ -8,6 +11,11 @@
9; Function calls
12; Function calls
12 function: (attribute attribute: (identifier) @constructor)
20 function: (attribute attribute: (identifier) @constructor)
13 (#match? @constructor "^[A-Z]"))
21 (#match? @constructor "^[A-Z]"))
@@ -49,6 +57,13 @@
49(parameters (typed_default_parameter name: (identifier) @variable.parameter))
57(parameters (typed_default_parameter name: (identifier) @variable.parameter))
50(keyword_argument name: (identifier) @variable.parameter)
58(keyword_argument name: (identifier) @variable.parameter)
61+ (list_splat_pattern ; *args
62+ (identifier) @variable.parameter))
64+ (dictionary_splat_pattern ; **kwargs
65+ (identifier) @variable.parameter))
54((identifier) @type.builtin
69((identifier) @type.builtin
@@ -81,12 +96,11 @@
81(identifier) @variable
96(identifier) @variable
84−
99+(none) @constant.builtin
89−] @constant.builtin
103+] @constant.builtin.boolean
91(integer) @constant.numeric.integer
105(integer) @constant.numeric.integer
92(float) @constant.numeric.float
106(float) @constant.numeric.float
@@ -94,9 +108,11 @@
94(string) @string
108(string) @string
95(escape_sequence) @constant.character.escape
109(escape_sequence) @constant.character.escape
111+["," "." ":" ";" (ellipsis)] @punctuation.delimiter
97(interpolation
112(interpolation
98 "{" @punctuation.special
113 "{" @punctuation.special
99 "}" @punctuation.special) @embedded
114 "}" @punctuation.special) @embedded
115+"(" ")" "[" "]" "{" "}"] @punctuation.bracket
@@ -135,24 +151,39 @@
139− "continue"
155+ "pass"
142− "except"
164+] @keyword.control.conditional
147− "import"
171+] @keyword.control.repeat
155−] @keyword.control
176+] @keyword.control.return
177+(yield "from" @keyword.control.return)
184+] @keyword.control.except
185+(raise_statement "from" @keyword.control.except)
186+"import" @keyword.control.import
157(for_statement "in" @keyword.control)
188(for_statement "in" @keyword.control)
158(for_in_clause "in" @keyword.control)
189(for_in_clause "in" @keyword.control)
@@ -161,16 +192,22 @@
171 "nonlocal"
197 "nonlocal"
175] @keyword
199] @keyword
209+((identifier) @type.builtin
210+ (#match? @type.builtin
211+ "^(BaseException|Exception|ArithmeticError|BufferError|LookupError|AssertionError|AttributeError|EOFError|FloatingPointError|GeneratorExit|ImportError|ModuleNotFoundError|IndexError|KeyError|KeyboardInterrupt|MemoryError|NameError|NotImplementedError|OSError|OverflowError|RecursionError|ReferenceError|RuntimeError|StopIteration|StopAsyncIteration|SyntaxError|IndentationError|TabError|SystemError|SystemExit|TypeError|UnboundLocalError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ValueError|ZeroDivisionError|EnvironmentError|IOError|WindowsError|BlockingIOError|ChildProcessError|ConnectionError|BrokenPipeError|ConnectionAbortedError|ConnectionRefusedError|ConnectionResetError|FileExistsError|FileNotFoundError|InterruptedError|IsADirectoryError|NotADirectoryError|PermissionError|ProcessLookupError|TimeoutError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|RuntimeWarning|FutureWarning|ImportWarning|UnicodeWarning|BytesWarning|ResourceWarning)$"))