Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com> Upstream-commit: 8c340b7edfa042d67ad766152ae61ef03e54793d Component: engine
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
