Skip to content

qtfkwk/slice-diff-patch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Features

Example

use slice_diff_patch::*;

let a = vec!["one", "TWO", "three", "four"];
let b = vec!["zero", "one", "two", "four"];

let diff = diff_diff(&a, &b);
assert_eq!(
    diff,
    vec![
        Change::Insert((0, "zero")),
        Change::Remove(2),
        Change::Update((2, "two")),
    ],
);
assert_eq!(patch(&a, &diff), b);

let lcs = lcs_diff(&a, &b);
assert_eq!(
    lcs,
    vec![
        Change::Insert((0, "zero")),
        Change::Update((2, "two")),
        Change::Remove(3),
    ],
);
assert_eq!(patch(&a, &lcs), b);

let wu = wu_diff(&a, &b);
assert_eq!(
    wu,
    vec![
        Change::Insert((0, "zero")),
        Change::Remove(2),
        Change::Update((2, "two")),
    ],
);
assert_eq!(patch(&a, &wu), b);

References

About

Rust library crate providing utility functions for diff and patch of slices

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages