[−][src]Struct xi_rope::diff::LineHashDiff
A line-oriented, hash based diff algorithm.
This works by taking a hash of each line in either document that has a length, ignoring leading whitespace, above some threshold.
Lines in the target document are matched against lines in the base document. When a match is found, it is extended forwards and backwards as far as possible.
This runs in O(n+m) in the lengths of the two ropes, and produces results on a variety of workloads that are comparable in quality (measured in terms of serialized diff size) with the results from using a suffix array, while being an order of magnitude faster.
Trait Implementations
impl Diff<RopeInfo> for LineHashDiff
[src]
fn compute_delta(base: &Rope, target: &Rope) -> RopeDelta
[src]
Auto Trait Implementations
impl Sync for LineHashDiff
impl Unpin for LineHashDiff
impl Send for LineHashDiff
impl UnwindSafe for LineHashDiff
impl RefUnwindSafe for LineHashDiff
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,