Line- and word-level text diffing using the Myers diff algorithm (via a longest-common-subsequence dynamic program). Pure standard library.
type DiffType int—Unchanged,Added,Removedtype DiffLine struct { Type DiffType; Content string }TextDiff(old, new string) string— unified-diff-style textLineDiff(old, new string) []DiffLine— line-level diffWordDiff(old, new string) []DiffLine— word-level diffHTMLDiff(old, new string) string— HTML withdiff-added/diff-removed/diff-unchangeddivs
import "github.com/LingByte/ling-base/common/diff"
diff.TextDiff("a\nb\nc", "a\nx\nc")
diff.LineDiff("a\nb", "a\nc")
diff.WordDiff("hello world", "hello go")
diff.HTMLDiff("a\nb", "a\nc")