aboutsummaryrefslogtreecommitdiffstats
path: root/queries/python/textobjects.scm
blob: 3e800ef079e11faaaed96bc94ceaf60d2416de4a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
(function_definition
  body: (block)? @function.inner) @function.outer

(decorated_definition
  (function_definition) @function.outer) @function.outer.start

(class_definition
  body: (block)? @class.inner) @class.outer

(decorated_definition
  (class_definition) @class.outer) @class.outer.start

(while_statement
  body: (block)? @loop.inner) @loop.outer

(for_statement
  body: (block)? @loop.inner) @loop.outer

(if_statement
  alternative: (_ (_) @conditional.inner)?) @conditional.outer

(if_statement
  consequence: (block)? @conditional.inner)

(if_statement
  condition: (_) @conditional.inner)

(_ (block) @block.inner) @block.outer
(comment) @comment.outer

(block (_) @statement.outer)

(call) @call.outer
(call (_) @call.inner)

;; Parameters
(parameters
  [(identifier)
   (tuple)
   (typed_parameter)
   (default_parameter)
   (typed_default_parameter)
   (list_splat)
   (dictionary_splat)] @parameter.inner)

(lambda_parameters
  [(identifier)
   (tuple)
   (typed_parameter)
   (default_parameter)
   (typed_default_parameter)
   (list_splat)
   (dictionary_splat)] @parameter.inner)

; TODO: exclude comments using the future negate syntax from tree-sitter
(argument_list (_) @parameter.inner)