Improve Python highlights

- Highlight types in attributes as @type (**Foo**.a)
- Highlight superclasses @type
- Highlight ^[A-Z] as @type
- Highlight isinstance(*, type) as @type
- Highlight default_parameter and keyword_argument as @parameter
- Highlight *args, **kwargs as @parameter
- Highlight -> as @operator
This commit is contained in:
Stephan Seitz 2020-05-27 22:23:34 +02:00
parent cdc92965d6
commit 807d6e11fa

View file

@ -9,6 +9,9 @@
(identifier)) @type)
(match? @type "^[A-Z]"))
((identifier) @type
(match? @type "^[A-Z]"))
((identifier) @constant
(match? @constant "^[A-Z][A-Z_]*$"))
@ -43,8 +46,30 @@
(identifier) @variable
(attribute attribute: (identifier) @property)
(type (identifier) @type)
((call
function: (identifier) @isinstance
arguments: (argument_list
(*)
(identifier) @type))
(eq? @isinstance "isinstance"))
; Normal parameters
(parameters
(identifier) @parameter)
; Default parameters
(keyword_argument
name: (identifier) @parameter)
; Naming parameters on call-site
(default_parameter
name: (identifier) @parameter)
; Variadic parameters *args, **kwargs
(parameters
(list_splat ; *args
(identifier) @parameter))
(parameters
(dictionary_splat ; **kwargs
(identifier) @parameter))
; Literals
@ -68,6 +93,7 @@
; Tokens
"-" @operator
"->" @operator
"-=" @operator
"!=" @operator
"*" @operator
@ -145,6 +171,9 @@
(class_definition
name: (identifier) @type)
(class_definition
superclasses: (argument_list
(identifier) @type))
(attribute
attribute: (identifier) @field)
@ -157,6 +186,10 @@
attribute: (identifier) @type)
(match? @type "^[A-Z][a-z_]+"))
((attribute
object: (identifier) @type)
(match? @type "^[A-Z][a-z_]+"))
(class_definition
body: (block
(expression_statement