aboutsummaryrefslogtreecommitdiffstats
path: root/queries/rust/textobjects.scm
blob: adc9ac6dae6dd8458a347b1edc70c0e537823909 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
;; functions
(function_item
  (_) @function.inner) @function.outer

;; quantifies as class(es)
(struct_item
  (_) @class.inner) @class.outer

(enum_item
  (_) @class.inner) @class.outer

(union_item
  (_) @class.inner) @class.outer

(trait_item
  (_) @class.inner) @class.outer

(impl_item
  (_) @class.inner) @class.outer

;; conditionals
(if_expression
  alternative: (_ (_)? @conditional.inner)?
  ) @conditional.outer

(if_expression
  alternative: (block)? @conditional.inner)

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

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

(match_arm
  (_)) @conditional.inner

(match_expression
  (match_arm)?
  ) @conditional.outer

(if_let_expression
  consequence: (block)?
  @conditional.inner) @conditional.outer

(if_let_expression
  alternative: (block)? @conditional.inner)

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

;; loops
(loop_expression
  (_)? @loop.inner) @loop.outer

(while_expression
  (_)? @loop.inner) @loop.outer

(while_let_expression
  (_)? @loop.inner) @loop.outer

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

;; blocks
(_ (block) @block.inner) @block.outer
(unsafe_block (_)? @block.inner) @block.outer

;; calls
(call_expression (_)? @call.inner) @call.outer

;; statements
(block (_) @statement.outer)