- Notifications
You must be signed in to change notification settings - Fork1.2k
Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.
License
google/diff-match-patch
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
The Diff Match and Patch libraries offer robust algorithms to perform theoperations required for synchronizing plain text.
- Diff:
- Compare two blocks of plain text and efficiently return a list of differences.
- Diff Demo
- Match:
- Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.
- Match Demo
- 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 library is now available in C++, C#, Dart, Java, JavaScript, Lua, Objective C, and Python.
- API - Common API across all languages.
- Line or Word Diffs - Less detailed diffs.
- Plain Text vs. Structured Content - How to deal with data like XML.
- Unidiff - The patch serialization format.
- Support - Newsgroup for developers.
Although each language port of Diff Match Patch uses the same API, there are some language-specific notes.
A standardized speed test tracks therelative performance of diffs in each language.
This library implementsMyer's diff algorithm which is generally considered to be the best general-purpose diff. A layer ofpre-diff speedups and post-diff cleanups surround the diff algorithm, improving both performance and output quality.
This library also implements aBitap matching algorithm at the heart of aflexible matching and patching strategy.
About
Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.