+9
-12
src/languages/rust.tsg
+9
-12
src/languages/rust.tsg
···
156
156
157
157
;; type parameters
158
158
(type_parameters
159
-
(type_identifier) @cap)
159
+
(type_parameter
160
+
(type_identifier) @cap))
160
161
{
161
162
(def @cap)
162
163
}
163
164
(type_parameters
164
-
(lifetime) @cap)
165
-
{
166
-
(def @cap)
167
-
}
168
-
(constrained_type_parameter
169
-
left: (type_identifier) @cap)
165
+
(lifetime_parameter
166
+
(lifetime) @cap))
170
167
{
171
168
(def @cap)
172
169
}
···
189
186
190
187
;; 'outer: loop { .. }
191
188
(loop_expression
192
-
(loop_label) @cap)
189
+
(label) @cap)
193
190
{
194
191
(def @cap)
195
192
}
···
200
197
{
201
198
(def @cap)
202
199
}
203
-
(for_expression (loop_label) @cap)
200
+
(for_expression (label) @cap)
204
201
{
205
202
(def @cap)
206
203
}
207
204
208
205
;; 'label: while cond { .. }
209
206
(while_expression
210
-
(loop_label) @cap)
207
+
(label) @cap)
211
208
{
212
209
(def @cap)
213
210
}
···
312
309
(break_expression (identifier) @cap)
313
310
314
311
;; break 'label
315
-
(break_expression (loop_label) @cap)
312
+
(break_expression (label) @cap)
316
313
317
314
;; continue 'label;
318
-
(continue_expression (loop_label) @cap)
315
+
(continue_expression (label) @cap)
319
316
320
317
;; yield x;
321
318
(yield_expression (identifier) @cap)
+3
-3
src/stag.rs
+3
-3
src/stag.rs
···
489
489
pub fn find_node_by_name(&self, src: &[u8], name: &[u8]) -> Option<NodeIndex> {
490
490
self.graph.node_indices().find(|idx| {
491
491
matches!(
492
-
&self.graph[*idx],
492
+
&self.graph[*idx].kind,
493
493
NodeKind::Def(d) if d.name(src) == name)
494
494
})
495
495
}
···
625
625
let sg = build_graph(src);
626
626
let nodes = sg.graph.node_weights();
627
627
628
-
nodes.fold((0, 0, 0, 0), |(s, d, r, i), node| match node {
628
+
nodes.fold((0, 0, 0, 0), |(s, d, r, i), node| match node.kind {
629
629
NodeKind::Scope(_) => (s + 1, d, r, i),
630
630
NodeKind::Def(_) => (s, d + 1, r, i),
631
631
NodeKind::Ref(_) => (s, d, r + 1, i),
···
643
643
StagBuilder::default()
644
644
.with_source(src)
645
645
.with_stag_file(crate::RUST)
646
-
.with_language(tree_sitter_rust::language())
646
+
.with_language(tree_sitter_rust::LANGUAGE.into())
647
647
.execute()
648
648
.unwrap()
649
649
}