基本的に、文字列の違いを表示し、行全体を表示するようにプログラムを実行しました。線の違いを (色で) 強調したいと思います。
例:
Original at line 5
<rect x="60.01" width="855.38" id="rect_1" y="-244.35" height="641.13" style="stroke-width: 1; stroke: rgb(0, 0, 0); fill: none; "/>
Edited at line 5
<rect x="298.43" width="340.00" y="131.12" height="380.00" id="rect_1" style="stroke-width: 1; stroke: rgb(0, 0, 0); fill: rgb(255, 102, 0); "/>
この例では、幅が「元の」バージョンと「編集された」バージョンでは異なります。その違いと他の違いを強調したいと思います。
これまでの私のコード:
Patch patch = DiffUtils.diff(centralFile, remoteFile);
StringBuffer resultsBuff = new StringBuffer(remoteFileData.length);
for (Delta delta : patch.getDeltas())
{
resultsBuff.append("Original at line " + delta.getOriginal().getPosition() + "\n");
for (Object line : delta.getOriginal().getLines())
{
resultsBuff.append(" " + line + "\n");
}
resultsBuff.append("Edited at line " + delta.getRevised().getPosition() + "\n");
for (Object line : delta.getRevised().getLines())
{
resultsBuff.append(" " + line + "\n");
}
resultsBuff.append("\n");
}
return resultsBuff.toString();
}
前の例のように 2 行全体が表示されます (元のバージョンと編集されたバージョン) 実際に行われた変更を強調表示できるようにしたいのですが、Java でこれを行う方法はありますか?