mirror of
https://github.com/chenasraf/nvim-treesitter.git
synced 2026-05-18 01:39:00 +00:00
Add python locals.scm
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user