Trait diffs::Diff

source ·
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

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.

Called when a section of length len, starting at old, needs to be deleted from the old version.

Called when a section of the new version, of length new_len and starting at new, needs to be inserted at position `old’.

Called when a section of the old version, starting at index old and of length old_len, needs to be replaced with a section of length new_len, starting at new, of the new version.

Always called at the end of the algorithm.

Implementations on Foreign Types

Implementors