This commit is contained in:
Alexey Kudravtsev
2012-02-27 13:29:16 +04:00
parent 7944cd56fe
commit 26e77f3db4
8 changed files with 18 additions and 12 deletions
@@ -48,7 +48,7 @@ public class PsiMultiReference implements PsiPolyVariantReference {
final TextRange range1 = ref1.getRangeInElement();
final TextRange range2 = ref2.getRangeInElement();
if(range1.getStartOffset() == range2.getStartOffset() && range1.getEndOffset() == range2.getEndOffset()) return 0;
if(TextRange.areSegmentsEqual(range1, range2)) return 0;
if(range1.getStartOffset() >= range2.getStartOffset() && range1.getEndOffset() <= range2.getEndOffset()) return -1;
if(range2.getStartOffset() >= range1.getStartOffset() && range2.getEndOffset() <= range1.getEndOffset()) return 1;
@@ -70,9 +70,9 @@ public class IndentsPass extends TextEditorHighlightingPass implements DumbAware
private static final CustomHighlighterRenderer RENDERER = new CustomHighlighterRenderer() {
@Override
@SuppressWarnings({"AssignmentToForLoopParameter"})
public void paint(Editor editor,
RangeHighlighter highlighter,
Graphics g) {
public void paint(@NotNull Editor editor,
@NotNull RangeHighlighter highlighter,
@NotNull Graphics g) {
int startOffset = highlighter.getStartOffset();
final Document doc = highlighter.getDocument();
if (startOffset >= doc.getTextLength()) return;
@@ -182,6 +182,10 @@ public class FoldingUpdate {
protected Map<PsiElement, Collection<FoldingDescriptor>> createMap() {
return new TreeMap<PsiElement, Collection<FoldingDescriptor>>(COMPARE_BY_OFFSET);
}
}
@Override
protected Collection<FoldingDescriptor> createCollection() {
return new ArrayList<FoldingDescriptor>(1);
}
}
}
@@ -225,7 +225,7 @@ public class LivePreviewControllerBase implements LivePreview.Delegate, FindUtil
@Override
public boolean shouldReplace(TextRange range, String replace) {
for (RangeMarker r : mySearchResults.getExcluded()) {
if (r.getStartOffset() == range.getStartOffset() && r.getEndOffset() == range.getEndOffset()) {
if (TextRange.areSegmentsEqual(r, range)) {
return false;
}
}
@@ -101,7 +101,7 @@ public class SearchResults implements DocumentListener {
public boolean isExcluded(LiveOccurrence occurrence) {
for (RangeMarker rangeMarker : myExcluded) {
if (rangeMarker.getStartOffset() == occurrence.getPrimaryRange().getStartOffset() && rangeMarker.getEndOffset() == occurrence.getPrimaryRange().getEndOffset()) {
if (TextRange.areSegmentsEqual(rangeMarker, occurrence.getPrimaryRange())) {
return true;
}
}
@@ -112,7 +112,7 @@ public class SearchResults implements DocumentListener {
boolean include = false;
final TextRange r = occurrence.getPrimaryRange();
for (RangeMarker rangeMarker : myExcluded) {
if (rangeMarker.getStartOffset() == r.getStartOffset() && rangeMarker.getEndOffset() == r.getEndOffset()) {
if (TextRange.areSegmentsEqual(rangeMarker, r)) {
myExcluded.remove(rangeMarker);
rangeMarker.dispose();
include = true;
@@ -20,9 +20,10 @@
package com.intellij.openapi.editor.markup;
import com.intellij.openapi.editor.Editor;
import org.jetbrains.annotations.NotNull;
import java.awt.*;
public interface CustomHighlighterRenderer {
void paint(Editor editor, RangeHighlighter highlighter, Graphics g);
void paint(@NotNull Editor editor, @NotNull RangeHighlighter highlighter, @NotNull Graphics g);
}
@@ -1732,7 +1732,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
paintBackgrounds(g, clip, clipStartPosition, clipStartVisualPos, clipStartOffset, clipEndOffset);
paintRectangularSelection(g);
paintRightMargin(g, clip);
paintCustomRenderers((Graphics2D)g, clipStartOffset, clipEndOffset);
paintCustomRenderers(g, clipStartOffset, clipEndOffset);
MarkupModelEx docMarkup = (MarkupModelEx)DocumentMarkupModel.forDocument(myDocument, myProject, true);
paintLineMarkersSeparators(g, clip, docMarkup, clipStartOffset, clipEndOffset);
paintLineMarkersSeparators(g, clip, myMarkupModel, clipStartOffset, clipEndOffset);
@@ -1745,7 +1745,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
borderEffect.paintHighlighters(myMarkupModel);
paintCaretCursor(g);
paintComposedTextDecoration((Graphics2D)g);
paintComposedTextDecoration(g);
}
private void paintCustomRenderers(final Graphics2D g, final int clipStartOffset, final int clipEndOffset) {
@@ -18,6 +18,7 @@ package com.intellij.openapi.editor.impl;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.FoldRegion;
import com.intellij.openapi.editor.RangeMarker;
import com.intellij.openapi.util.TextRange;
import com.intellij.util.ArrayUtil;
import com.intellij.util.containers.CollectionFactory;
import org.jetbrains.annotations.NotNull;
@@ -172,7 +173,7 @@ abstract class FoldRegionsTree {
// We explicitly check for such situation, remove existing region and add the given one instead.
if (fastIndex < myRegions.size()) {
FoldRegion foldRegion = myRegions.get(fastIndex);
if (foldRegion.getStartOffset() == range.getStartOffset() && foldRegion.getEndOffset() == range.getEndOffset()) {
if (TextRange.areSegmentsEqual(foldRegion, range)) {
removeRegion(foldRegion);
return addRegion(range);
}