mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Improve readability be replacing hard-to-read if-else branches with a match
This commit is contained in:
parent
a8a606cdc4
commit
0d87eee3a9
1 changed files with 20 additions and 16 deletions
|
@ -372,22 +372,26 @@ impl HighlightedRangeStack {
|
||||||
} else {
|
} else {
|
||||||
let maybe_idx =
|
let maybe_idx =
|
||||||
prev.iter().position(|parent| parent.range.contains(child.range.start()));
|
prev.iter().position(|parent| parent.range.contains(child.range.start()));
|
||||||
if let (Some(_), Some(idx)) = (overwrite_parent, maybe_idx) {
|
match (overwrite_parent, maybe_idx) {
|
||||||
Self::intersect_partial(&mut prev[idx], &child);
|
(Some(_), Some(idx)) => {
|
||||||
let insert_idx = if prev[idx].range.is_empty() {
|
Self::intersect_partial(&mut prev[idx], &child);
|
||||||
prev.remove(idx);
|
let insert_idx = if prev[idx].range.is_empty() {
|
||||||
idx
|
prev.remove(idx);
|
||||||
} else {
|
idx
|
||||||
idx + 1
|
} else {
|
||||||
};
|
idx + 1
|
||||||
prev.insert(insert_idx, child);
|
};
|
||||||
} else if let None = maybe_idx {
|
prev.insert(insert_idx, child);
|
||||||
let idx = prev
|
}
|
||||||
.binary_search_by_key(&child.range.start(), |range| range.range.start())
|
(_, None) => {
|
||||||
.unwrap_or_else(|x| x);
|
let idx = prev
|
||||||
prev.insert(idx, child);
|
.binary_search_by_key(&child.range.start(), |range| range.range.start())
|
||||||
} else {
|
.unwrap_or_else(|x| x);
|
||||||
unreachable!("child range should be completely contained in parent range");
|
prev.insert(idx, child);
|
||||||
|
}
|
||||||
|
_ => {
|
||||||
|
unreachable!("child range should be completely contained in parent range");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue