diff options
| author | Stephan Seitz <stephan.seitz@fau.de> | 2020-05-27 22:23:34 +0200 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2020-05-28 10:42:45 +0200 |
| commit | 807d6e11fa7150481de8c80a7cf973be2e456d50 (patch) | |
| tree | 4a9c22d5c728ac62bad5c1a84467a02c4da6ace6 /queries/python | |
| parent | Merge pull request #65 from theHamsta/typo-foldexpr (diff) | |
| download | nvim-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.scm | 33 |
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 |
