pub trait DiffHook: Sized {
    type Error;

    fn equal(
        &mut self,
        old_index: usize,
        new_index: usize,
        len: usize
    ) -> Result<(), Self::Error> { ... } fn delete(
        &mut self,
        old_index: usize,
        old_len: usize,
        new_index: usize
    ) -> Result<(), Self::Error> { ... } fn insert(
        &mut self,
        old_index: 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> { ... } 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§

The error produced from the hook methods.

Provided Methods§

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.

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

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’.

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.

The default implementations invokes delete and insert.

You can use the Replace hook to automatically generate these.

Always called at the end of the algorithm.

Implementations on Foreign Types§

Implementors§