diff: fix LineStatusTracker highlighter ranges

fix issue with insertion of empty string (in the middle of file, issue with the end of file still present)

bug caused by 7be7a24449
This commit is contained in:
Aleksey Pivovarov
2014-07-07 16:01:06 +04:00
parent 55621e28f7
commit d73663a247
@@ -174,11 +174,15 @@ public class LineStatusTracker {
private RangeHighlighter createHighlighter(final Range range) {
LOG.assertTrue(!myReleased, "Already released");
TextRange textRange = getCurrentTextRange(range);
int first =
range.getOffset1() >= myDocument.getLineCount() ? myDocument.getTextLength() : myDocument.getLineStartOffset(range.getOffset1());
int second =
range.getOffset2() >= myDocument.getLineCount() ? myDocument.getTextLength() : myDocument.getLineStartOffset(range.getOffset2());
final RangeHighlighter highlighter = DocumentMarkupModel.forDocument(myDocument, myProject, true)
.addRangeHighlighter(textRange.getStartOffset(), textRange.getEndOffset(), HighlighterLayer.FIRST - 1, null,
HighlighterTargetArea.LINES_IN_RANGE);
.addRangeHighlighter(first, second, HighlighterLayer.FIRST - 1, null, HighlighterTargetArea.LINES_IN_RANGE);
final TextAttributes attr = LineStatusTrackerDrawing.getAttributesFor(range);
highlighter.setErrorStripeMarkColor(attr.getErrorStripeColor());
highlighter.setThinErrorStripeMark(true);