Skip to content

Commit

Permalink
feat: Add the DiffUnified() method for formatting a unified diff.
Browse files Browse the repository at this point in the history
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
  • Loading branch information
octo committed Sep 9, 2024
1 parent 5b0b94c commit 09b44ce
Show file tree
Hide file tree
Showing 4 changed files with 729 additions and 0 deletions.
Loading

0 comments on commit 09b44ce

Please sign in to comment.