Struct similar::algorithms::Capture
source · pub struct Capture(_);
Expand description
A DiffHook
that captures all diff operations.
Implementations§
source§impl Capture
impl Capture
sourcepub fn into_grouped_ops(self, n: usize) -> Vec<Vec<DiffOp>>
pub fn into_grouped_ops(self, n: usize) -> Vec<Vec<DiffOp>>
Isolate change clusters by eliminating ranges with no changes.
This is equivalent to calling group_diff_ops
on Capture::into_ops
.
Trait Implementations§
source§impl DiffHook for Capture
impl DiffHook for Capture
§type Error = Infallible
type Error = Infallible
The error produced from the hook methods.
source§fn equal(
&mut self,
old_index: usize,
new_index: usize,
len: usize
) -> Result<(), Self::Error>
fn equal(
&mut self,
old_index: usize,
new_index: usize,
len: usize
) -> Result<(), Self::Error>
Called when lines with indices
old_index
(in the old version) and
new_index
(in the new version) start an section equal in both
versions, of length len
.source§fn delete(
&mut self,
old_index: usize,
old_len: usize,
new_index: usize
) -> Result<(), Self::Error>
fn delete(
&mut self,
old_index: usize,
old_len: usize,
new_index: usize
) -> Result<(), Self::Error>
Called when a section of length
old_len
, starting at old_index
,
needs to be deleted from the old version.source§fn insert(
&mut self,
old_index: usize,
new_index: usize,
new_len: usize
) -> Result<(), Self::Error>
fn insert(
&mut self,
old_index: usize,
new_index: usize,
new_len: usize
) -> Result<(), Self::Error>
Called when a section of the new version, of length
new_len
and starting at new_index
, needs to be inserted at position `old_index’.source§fn replace(
&mut self,
old_index: usize,
old_len: usize,
new_index: usize,
new_len: usize
) -> Result<(), Self::Error>
fn replace(
&mut self,
old_index: usize,
old_len: usize,
new_index: usize,
new_len: usize
) -> Result<(), Self::Error>
Called when a section of the old version, starting at index
old_index
and of length old_len
, needs to be replaced with a
section of length new_len
, starting at new_index
, of the new
version. Read more