Improve readability be replacing hard-to-read if-else branches with a match

This commit is contained in:
Paul Daniel Faria 2020-06-23 19:35:09 -04:00
parent a8a606cdc4
commit 0d87eee3a9

View file

@ -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");
}
} }
} }
} }