updating golang.org/x/sys 07c182904dbd53199946ba614a412c61d3c548f5 Adding github.com/stretchr/testify 4d4bfba8f1d1027c4fdbe371823030df51419987 github.com/davecgh/go-spew 346938d642f2ec3594ed81d874461961cd0faa76 github.com/pmezard/go-difflib v1.0.0 Removing github.com/vdemeester/shakers github.com/go-check/check Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> |
||
|---|---|---|
| .. | ||
| difflib | ||
| LICENSE | ||
| README.md | ||
README.md
go-difflib
Go-difflib is a partial port of python 3 difflib package. Its main goal was to make unified and context diff available in pure Go, mostly for testing purposes.
The following class and functions (and related tests) have be ported:
SequenceMatcherunified_diff()context_diff()
Installation
$ go get github.com/pmezard/go-difflib/difflib
Quick Start
Diffs are configured with Unified (or ContextDiff) structures, and can be output to an io.Writer or returned as a string.
diff := UnifiedDiff{
A: difflib.SplitLines("foo\nbar\n"),
B: difflib.SplitLines("foo\nbaz\n"),
FromFile: "Original",
ToFile: "Current",
Context: 3,
}
text, _ := GetUnifiedDiffString(diff)
fmt.Printf(text)
would output:
--- Original
+++ Current
@@ -1,3 +1,3 @@
foo
-bar
+baz
