Don't select the current node in select_nodes

main
xenia 2023-11-13 18:46:34 +01:00
parent 2c17cea19e
commit 1ccccb370b
1 changed files with 5 additions and 9 deletions

View File

@ -215,15 +215,11 @@ fn handle_request(config: &Config, request: &Request) -> String {
}
fn select_nodes(node: &Node, kinds: &[String], new_ranges: &mut Vec<Range>) {
if kinds.iter().any(|kind| kind == node.kind()) {
new_ranges.push(node.range());
} else {
for child in tree::named_children(&node) {
if kinds.iter().any(|kind| kind == child.kind()) {
new_ranges.push(child.range());
} else {
select_nodes(&child, kinds, new_ranges);
}
for child in tree::named_children(&node) {
if kinds.iter().any(|kind| kind == child.kind()) {
new_ranges.push(child.range());
} else {
select_nodes(&child, kinds, new_ranges);
}
}
}