Add test for go-to hunk and fix discovered bugs

This commit is contained in:
Julia
2022-10-28 15:08:13 -04:00
parent ae2021e073
commit 8361b4d47a
8 changed files with 145 additions and 72 deletions
+21 -3
View File
@@ -21,14 +21,32 @@ pub enum DisplayDiffHunk {
}
impl DisplayDiffHunk {
pub fn display_row_range(&self) -> Range<u32> {
pub fn start_display_row(&self) -> u32 {
match self {
&DisplayDiffHunk::Folded { display_row } => display_row..display_row + 1,
&DisplayDiffHunk::Folded { display_row } => display_row,
DisplayDiffHunk::Unfolded {
display_row_range, ..
} => display_row_range.clone(),
} => display_row_range.start,
}
}
pub fn contains_display_row(&self, display_row: u32) -> bool {
let range = match self {
&DisplayDiffHunk::Folded { display_row } => display_row..=display_row,
DisplayDiffHunk::Unfolded {
display_row_range, ..
} => {
if display_row_range.len() == 0 {
display_row_range.start..=display_row_range.end
} else {
display_row_range.start..=display_row_range.end - 1
}
}
};
range.contains(&display_row)
}
}
pub fn diff_hunk_to_display(hunk: DiffHunk<u32>, snapshot: &DisplaySnapshot) -> DisplayDiffHunk {