GitHub - starseeker/diff-match-patch: Diff Match Patch is a high-performance library in multiple languages that manipulates plain text. · GitHub
Skip to content

starseeker/diff-match-patch

 
 

Folders and files

Repository files navigation

The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text.

  1. Diff:
    • Compare two blocks of plain text and efficiently return a list of differences.
    • Diff Demo
  2. Match:
    • Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.
    • Match Demo
  3. Patch:
    • Apply a list of patches onto plain text. Use best-effort to apply patch even when the underlying text doesn't match.
    • Patch Demo

Originally built in 2006 to power Google Docs.

This particular fork takes the https://github.com/fvla/diff-match-patch fork (removal of Qt dependencies) and focuses on just the C++ version.

Reference

Algorithms

This library implements Myer's diff algorithm which is generally considered to be the best general-purpose diff. A layer of pre-diff speedups and post-diff cleanups surround the diff algorithm, improving both performance and output quality.

This library also implements a Bitap matching algorithm at the heart of a flexible matching and patching strategy.

About

Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • C++ 99.7%
  • CMake 0.3%