pub trait Diff: Sized {
type Error;
fn equal(
&mut self,
old: usize,
new: usize,
len: usize
) -> Result<(), Self::Error> { ... }
fn delete(&mut self, old: usize, len: usize) -> Result<(), Self::Error> { ... }
fn insert(
&mut self,
old: usize,
new: usize,
new_len: usize
) -> Result<(), Self::Error> { ... }
fn replace(
&mut self,
old: usize,
old_len: usize,
new: usize,
new_len: usize
) -> Result<(), Self::Error> { ... }
fn finish(&mut self) -> Result<(), Self::Error> { ... }
}
Expand description
A trait for reacting to an edit script from the “old” version to the “new” version.
Required Associated Types
Provided Methods
sourcefn equal(&mut self, old: usize, new: usize, len: usize) -> Result<(), Self::Error>
fn equal(&mut self, old: usize, new: usize, len: usize) -> Result<(), Self::Error>
Called when lines with indices old
(in the old version) and
new
(in the new version) start an section equal in both
versions, of length len
.
sourcefn delete(&mut self, old: usize, len: usize) -> Result<(), Self::Error>
fn delete(&mut self, old: usize, len: usize) -> Result<(), Self::Error>
Called when a section of length len
, starting at old
,
needs to be deleted from the old version.
sourcefn insert(
&mut self,
old: usize,
new: usize,
new_len: usize
) -> Result<(), Self::Error>
fn insert(
&mut self,
old: usize,
new: usize,
new_len: usize
) -> Result<(), Self::Error>
Called when a section of the new version, of length new_len
and starting at new
, needs to be inserted at position `old’.