Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could an unified diff be output with go-diff? #124

Open
leoswing opened this issue Jul 14, 2021 · 2 comments · May be fixed by #146
Open

Could an unified diff be output with go-diff? #124

leoswing opened this issue Jul 14, 2021 · 2 comments · May be fixed by #146

Comments

@leoswing
Copy link

Could go-diff generate an unified diff? Like what git diff or linux diff do?

We highly desired to use diff2html to transform diff to html with a unified format

@gedw99
Copy link

gedw99 commented Sep 11, 2023

@hauserx
Copy link

hauserx commented Jun 17, 2024

https://github.com/hexops/gotextdiff

This one has been archived:
This repository has been archived by the owner on Feb 9, 2024. It is now read-only.

octo added a commit to octo/go-diff that referenced this issue Sep 9, 2024
This adds a new `DiffUnified()` method which takes a `[]Diff` slice and formats
it in the "unified diff" format. The `[]Diff` slice does not necessarily need
to be a linewise diff.

The implementation deals gracefully with missing newlines at the end of either
side, as well as empty inputs on either side.

The method accepts two optional arguments: `UnifiedLabels()` for setting the
labels for the two inputs and `UnifiedContextLines()` for setting the number of
context lines printed.

Example usage:

```go
unified := dmp.DiffUnified(diffs,
	diffmatchpatch.UnifiedLabels("text1", "text2"),
	diffmatchpatch.UnifiedContextLines(3))
```

A convenience method, `Unified()`, takes two string inputs and returns the
unified diff.

Fixes: sergi#124
octo added a commit to octo/go-diff that referenced this issue Sep 9, 2024
This adds a new `DiffUnified()` method which takes a `[]Diff` slice and formats
it in the "unified diff" format. The `[]Diff` slice does not necessarily need
to be a linewise diff.

The implementation deals gracefully with missing newlines at the end of either
side, as well as empty inputs on either side.

The method accepts two optional arguments: `UnifiedLabels()` for setting the
labels for the two inputs and `UnifiedContextLines()` for setting the number of
context lines printed.

Example usage:

```go
unified := dmp.DiffUnified(diffs,
	diffmatchpatch.UnifiedLabels("text1", "text2"),
	diffmatchpatch.UnifiedContextLines(3))
```

A convenience method, `Unified()`, takes two string inputs and returns the
unified diff.

Fixes: sergi#124
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants