Open vsquared56 opened 1 year ago
Hi, thanks for this project! I noticed the following issue which may come up when, for example, entire code blocks are inserted.
Consider these two simple .js files:
File1:
function foo() { console.log("foo"); }
File2:
function foo() { console.log("foo"); } function bar() { console.log("bar"); }
Here, the line-level diff is expected, it's clear that all of bar() was inserted, along with its end brace:
bar()
Now, consider a similar addition, but with a simple change inside foo():
foo()
File3:
function foo() { bar(); console.log("foo"); } function bar() { console.log("bar"); }
Comparing File1 with File3 shows the change begins at the end brace of foo(), and it's not immediately clear that a complete function was added.
File1
File3
Worth noting that this matches the behavior of GNU diff:
But tools like DiffChecker.com give output that is potentially more useful:
Hi, thanks for this project! I noticed the following issue which may come up when, for example, entire code blocks are inserted.
Consider these two simple .js files:
File1:
File2:
Here, the line-level diff is expected, it's clear that all of
bar()
was inserted, along with its end brace:Now, consider a similar addition, but with a simple change inside
foo()
:File3:
Comparing
File1
withFile3
shows the change begins at the end brace offoo()
, and it's not immediately clear that a complete function was added.Worth noting that this matches the behavior of GNU diff:
But tools like DiffChecker.com give output that is potentially more useful: