go-difflib

Partial port of Python difflib package to Go

  • Owner: pmezard/go-difflib
  • Platform:
  • License:: Other
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

go-difflib

THIS PACKAGE IS NO LONGER MAINTAINED.

At this point, I have no longer the time nor the interest to work on go-difflib. I apologize for the inconvenience.

GoDoc

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:

  • SequenceMatcher
  • unified_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 := difflib.UnifiedDiff{
    A:        difflib.SplitLines("foo\nbar\n"),
    B:        difflib.SplitLines("foo\nbaz\n"),
    FromFile: "Original",
    ToFile:   "Current",
    Context:  3,
}
text, _ := difflib.GetUnifiedDiffString(diff)
fmt.Printf(text)

would output:

--- Original
+++ Current
@@ -1,3 +1,3 @@
 foo
-bar
+baz

Main metrics

Overview
Name With Ownerpmezard/go-difflib
Primary LanguageGo
Program languageGo (Language Count: 1)
Platform
License:Other
所有者活动
Created At2013-10-20 16:54:23
Pushed At2023-05-30 11:23:07
Last Commit At2018-12-26 11:54:42
Release Count1
Last Release Namev1.0.0 (Posted on 2016-08-08 09:51:59)
First Release Namev1.0.0 (Posted on 2016-08-08 09:51:59)
用户参与
Stargazers Count413
Watchers Count13
Fork Count115
Commits Count25
Has Issues Enabled
Issues Count0
Issue Open Count0
Pull Requests Count5
Pull Requests Open Count4
Pull Requests Close Count6
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private