pub struct Hunk {
pub old_start: usize,
pub old_count: usize,
pub new_start: usize,
pub new_count: usize,
pub lines: Vec<HunkLine>,
}Expand description
A hunk in a unified diff
Fields§
§old_start: usizeStarting line in original file
old_count: usizeNumber of lines in original file
new_start: usizeStarting line in new file
new_count: usizeNumber of lines in new file
lines: Vec<HunkLine>Lines in the hunk
Implementations§
Source§impl Hunk
impl Hunk
Sourcepub fn new(
old_start: usize,
old_count: usize,
new_start: usize,
new_count: usize,
) -> Self
pub fn new( old_start: usize, old_count: usize, new_start: usize, new_count: usize, ) -> Self
Creates a new hunk
§Arguments
old_start- Starting line in original fileold_count- Number of lines in original filenew_start- Starting line in new filenew_count- Number of lines in new file
§Returns
A new Hunk with empty lines
§Examples
use rust_diff_analyzer::git::Hunk;
let hunk = Hunk::new(10, 5, 10, 7);
assert_eq!(hunk.old_start, 10);
assert!(hunk.lines.is_empty());Sourcepub fn added_count(&self) -> usize
pub fn added_count(&self) -> usize
Sourcepub fn removed_count(&self) -> usize
pub fn removed_count(&self) -> usize
Sourcepub fn added_lines(&self) -> Vec<usize>
pub fn added_lines(&self) -> Vec<usize>
Returns all added line numbers in new file
§Returns
Vector of line numbers that were added
§Examples
use rust_diff_analyzer::git::{Hunk, HunkLine};
let mut hunk = Hunk::new(1, 1, 1, 2);
hunk.lines.push(HunkLine::added(5, "new".to_string()));
hunk.lines.push(HunkLine::added(6, "lines".to_string()));
assert_eq!(hunk.added_lines(), vec![5, 6]);Sourcepub fn removed_lines(&self) -> Vec<usize>
pub fn removed_lines(&self) -> Vec<usize>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Hunk
impl<'de> Deserialize<'de> for Hunk
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Hunk
impl StructuralPartialEq for Hunk
Auto Trait Implementations§
impl Freeze for Hunk
impl RefUnwindSafe for Hunk
impl Send for Hunk
impl Sync for Hunk
impl Unpin for Hunk
impl UnwindSafe for Hunk
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more