aboutsummaryrefslogtreecommitdiffstats
path: root/queries/python
diff options
context:
space:
mode:
authorStephan Seitz <stephan.seitz@fau.de>2020-05-27 22:23:34 +0200
committerStephan Seitz <stephan.seitz@fau.de>2020-05-28 10:42:45 +0200
commit807d6e11fa7150481de8c80a7cf973be2e456d50 (patch)
tree4a9c22d5c728ac62bad5c1a84467a02c4da6ace6 /queries/python
parentMerge pull request #65 from theHamsta/typo-foldexpr (diff)
downloadnvim-treesitter-807d6e11fa7150481de8c80a7cf973be2e456d50.tar
nvim-treesitter-807d6e11fa7150481de8c80a7cf973be2e456d50.tar.gz
nvim-treesitter-807d6e11fa7150481de8c80a7cf973be2e456d50.tar.bz2
nvim-treesitter-807d6e11fa7150481de8c80a7cf973be2e456d50.tar.lz
nvim-treesitter-807d6e11fa7150481de8c80a7cf973be2e456d50.tar.xz
nvim-treesitter-807d6e11fa7150481de8c80a7cf973be2e456d50.tar.zst
nvim-treesitter-807d6e11fa7150481de8c80a7cf973be2e456d50.zip
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
Diffstat (limited to 'queries/python')
-rw-r--r--queries/python/highlights.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/queries/python/highlights.scm b/queries/python/highlights.scm
index 4cd8b8998..0b6e30033 100644
--- a/queries/python/highlights.scm
+++ b/queries/python/highlights.scm
@@ -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