diff: better highlighting for fragmented diff near shoene gutter

This commit is contained in:
Aleksey Pivovarov
2014-07-08 15:52:02 +04:00
parent 17f3aa4afa
commit ba1fb92529
@@ -69,7 +69,7 @@ public class FragmentedEditorHighlighter implements EditorHighlighter {
if (range.getEndOffset() >= iterator.getStart()) {
int relativeStart = Math.max(iterator.getStart() - range.getStartOffset(), 0);
int relativeEnd = Math.min(iterator.getEnd() - range.getStartOffset(), range.getLength());
int relativeEnd = Math.min(iterator.getEnd() - range.getStartOffset(), range.getLength() + 1);
boolean merged = false;
if (myMergeByTextAttributes && !myPieces.isEmpty()) {
Element element = myPieces.get(myPieces.size() - 1);
@@ -93,6 +93,8 @@ public class FragmentedEditorHighlighter implements EditorHighlighter {
if (range.getEndOffset() < iterator.getEnd()) {
offset += range.getLength() + 1 + myAdditionalOffset; // myAdditionalOffset because of extra line - for shoene separators
int lastEnd = myPieces.isEmpty() ? -1 : myPieces.get(myPieces.size() - 1).getEnd();
myPieces.add(new Element(Math.max(offset - 1 - myAdditionalOffset, lastEnd), offset, null, TextAttributes.ERASE_MARKER));
index++;
continue;
}