mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
Add python locals.scm
This commit is contained in:
parent
45400888ad
commit
a5c50262d9
2 changed files with 66 additions and 1 deletions
|
|
@ -158,7 +158,7 @@ List of currently supported languages:
|
|||
- [ ] go
|
||||
- [ ] cpp
|
||||
- [ ] rust
|
||||
- [ ] python
|
||||
- [x] python (maintained by @theHamsta)
|
||||
- [ ] javascript
|
||||
- [ ] typescript
|
||||
- [ ] tsx
|
||||
|
|
|
|||
65
queries/python/locals.scm
Normal file
65
queries/python/locals.scm
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
;;; Programm structure
|
||||
(module) @scope
|
||||
|
||||
(class_definition
|
||||
body: (block
|
||||
(expression_statement
|
||||
(assignment
|
||||
left: (expression_list
|
||||
(identifier) @definition.associated))))) @scope
|
||||
|
||||
; Function with parameters, defines parameters
|
||||
(function_definition
|
||||
name: (identifier)
|
||||
parameters: (parameters
|
||||
(identifier) @definition.var))
|
||||
|
||||
; Function defines function and scope
|
||||
(function_definition
|
||||
name: (identifier) @definition.function) @scope
|
||||
|
||||
(class_definition
|
||||
name: (identifier) @definition.type) @scope
|
||||
|
||||
(class_definition
|
||||
body: (block
|
||||
(function_definition
|
||||
name: (identifier) @definition.method)))
|
||||
|
||||
;;; Loops
|
||||
; not a scope!
|
||||
(for_statement
|
||||
left: (variables
|
||||
(identifier) @definition.var))
|
||||
|
||||
; not a scope!
|
||||
;(while_statement) @scope
|
||||
|
||||
; for in list comprehension
|
||||
(for_in_clause
|
||||
left: (variables
|
||||
(identifier) @definition.var))
|
||||
|
||||
(dictionary_comprehension) @scope
|
||||
(list_comprehension) @scope
|
||||
(set_comprehension) @scope
|
||||
|
||||
;;; Assignments
|
||||
|
||||
(assignment
|
||||
left: (expression_list
|
||||
(identifier) @definition.var))
|
||||
|
||||
(assignment
|
||||
left: (expression_list
|
||||
(attribute
|
||||
(identifier)
|
||||
(identifier) @definition.field)))
|
||||
|
||||
; Walrus operator x := 1
|
||||
(named_expression
|
||||
(identifier) @definition.var)
|
||||
|
||||
|
||||
;;; REFERENCES
|
||||
(identifier) @reference
|
||||
Loading…
Add table
Add a link
Reference in a new issue