The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronising plain text. This repository contains a Rust version of the original diff-match-patch library, using up-to-date crate packages.
- Diffing and patching library for plain text
- Retrieve differences between two blocks of text
- Create a set of patches for converting a block of text into another
- Apply a set of patches onto a block of text to convert it to another block of text
- Uses best-effort to apply patch even when the underlying text doesn't fully match.
A fuzzer is provided as a sanity-check:
RUST_BACKTRACE=1 cargo fuzz run fuzz
This code is forked originally from diff_match_patch.rs, licensed under the MIT license.