Improve readability be replacing hard-to-read if-else branches with a match
This commit is contained in:
@@ -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");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user