textobjects.scm

 1; functions
 2(function_signature_item) @function.around
 3
 4(function_item
 5  body: (_
 6    "{"
 7    (_)* @function.inside
 8    "}")) @function.around
 9
10; classes
11(struct_item
12  body: (_
13    [
14      "{"
15      "("
16    ]?
17    [
18      (_)
19      ","?
20    ]* @class.inside
21    [
22      "}"
23      ")"
24    ]?)) @class.around
25
26(enum_item
27  body: (_
28    "{"
29    [
30      (_)
31      ","?
32    ]* @class.inside
33    "}")) @class.around
34
35(union_item
36  body: (_
37    "{"
38    [
39      (_)
40      ","?
41    ]* @class.inside
42    "}")) @class.around
43
44(trait_item
45  body: (_
46    "{"
47    [
48      (_)
49      ","?
50    ]* @class.inside
51    "}")) @class.around
52
53(impl_item
54  body: (_
55    "{"
56    [
57      (_)
58      ","?
59    ]* @class.inside
60    "}")) @class.around
61
62(mod_item
63  body: (_
64    "{"
65    [
66      (_)
67      ","?
68    ]* @class.inside
69    "}")) @class.around
70
71; comments
72(line_comment)+ @comment.around
73
74(block_comment) @comment.around