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

Implement a line-by-line diff output #69

Open
zimmski opened this issue Dec 4, 2016 · 3 comments
Open

Implement a line-by-line diff output #69

zimmski opened this issue Dec 4, 2016 · 3 comments

Comments

@zimmski
Copy link
Collaborator

zimmski commented Dec 4, 2016

At the moment it is only easy to output inline diff outputs but something like this https://github.com/sergi/go-diff/pull/67/files?diff=unified would be a nice addition for the output functions.

@mingrammer
Copy link

any update?

@mgale
Copy link

mgale commented Sep 8, 2020

I came across this issue also looking for a line by line output or maybe a unified view.
I was able to meet my requirements after reviewing: https://github.com/google/diff-match-patch/wiki/Line-or-Word-Diffs and following the example there but in go-diff:

sample code:

dmp := diffmatchpatch.New()

fileAdmp, fileBdmp, dmpStrings := dmp.DiffLinesToChars(fileAtext, fileBtext)
diffs := dmp.DiffMain(fileAdmp, fileBdmp, false)
diffs = dmp.DiffCharsToLines(diffs, dmpStrings)
diffs = dmp.DiffCleanupSemantic(diffs)

Then using the dmp.DiffPrettyText(diffs) output I can see entire lines are being replaced, which is easier to read. I think that method would allow for a DiffPrettyTextLine function which instead of colours can offer a more unified diff like view, with plus minus or greater than less than options?

@mgale
Copy link

mgale commented Sep 8, 2020

I didn't realize it at the time but it also improves the PatchToText output:

List of patches
@@ -31,41 +31,43 @@
 ing%0A
-This same is unique to this file%0A
+A line that is new in the new file%0A
 thre

DavidGamba added a commit to DavidGamba/dap that referenced this issue Mar 4, 2021
go-diff is not a line by line diffing tool at the moment[1]
Instead, output lines in context.

[1] sergi/go-diff#69
    sergi/go-diff#91

Additionally, add a tab marker '˲   ' to be able to quickly see
whitespace changes.
DavidGamba added a commit to DavidGamba/dap that referenced this issue Mar 4, 2021
go-diff is not a line by line diffing tool at the moment[1]
Instead, output lines in context.

Rename LineByLineDiff to ColorDiff.

Additionally, add a tab marker '˲   ' to be able to quickly see
whitespace changes.

[1] sergi/go-diff#69
    sergi/go-diff#91
DavidGamba added a commit to DavidGamba/dap that referenced this issue Mar 4, 2021
go-diff is not a line by line diffing tool at the moment[1]
Instead, output lines in context.

Rename LineByLineDiff to ColorDiff.

Additionally, add a tab marker '˲   ' to be able to quickly see
whitespace changes.

[1] sergi/go-diff#69
    sergi/go-diff#91
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants