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