Filter[] EMPTY_ARRAY = new Filter[0];
class Result extends ResultItem {
- private static final Map<TextAttributesKey, TextAttributes> GRAYED_BY_NORMAL_CACHE = ContainerUtil.newConcurrentMap(2);
- static {
- ApplicationManager.getApplication().getMessageBus().connect().subscribe(EditorColorsManager.TOPIC, new EditorColorsListener() {
- @Override
- public void globalSchemeChange(EditorColorsScheme scheme) {
- // invalidate cache on Appearance Theme/Editor Scheme change
- GRAYED_BY_NORMAL_CACHE.clear();
- }
- });
- }
-
- protected NextAction myNextAction = NextAction.EXIT;
- protected final List<ResultItem> myResultItems;
+ private NextAction myNextAction = NextAction.EXIT;
+ private final List<ResultItem> myResultItems;
public Result(final int highlightStartOffset, final int highlightEndOffset, @Nullable final HyperlinkInfo hyperlinkInfo) {
this(highlightStartOffset, highlightEndOffset, hyperlinkInfo, null);
final int highlightEndOffset,
@Nullable final HyperlinkInfo hyperlinkInfo,
final boolean grayedHyperlink) {
- super(highlightStartOffset, highlightEndOffset, hyperlinkInfo,
- grayedHyperlink ? getGrayedHyperlinkAttributes(CodeInsightColors.HYPERLINK_ATTRIBUTES) : null,
- grayedHyperlink ? getGrayedHyperlinkAttributes(CodeInsightColors.FOLLOWED_HYPERLINK_ATTRIBUTES) : null);
+ super(highlightStartOffset, highlightEndOffset, hyperlinkInfo, grayedHyperlink);
myResultItems = null;
}
public void setNextAction(NextAction nextAction) {
myNextAction = nextAction;
}
-
- @Nullable
- private static TextAttributes getGrayedHyperlinkAttributes(@NotNull TextAttributesKey normalHyperlinkAttrsKey) {
- EditorColorsScheme globalScheme = EditorColorsManager.getInstance().getGlobalScheme();
- TextAttributes grayedHyperlinkAttrs = GRAYED_BY_NORMAL_CACHE.get(normalHyperlinkAttrsKey);
- if (grayedHyperlinkAttrs == null) {
- TextAttributes normalHyperlinkAttrs = globalScheme.getAttributes(normalHyperlinkAttrsKey);
- if (normalHyperlinkAttrs != null) {
- grayedHyperlinkAttrs = normalHyperlinkAttrs.clone();
- grayedHyperlinkAttrs.setForegroundColor(UIUtil.getInactiveTextColor());
- grayedHyperlinkAttrs.setEffectColor(UIUtil.getInactiveTextColor());
- GRAYED_BY_NORMAL_CACHE.put(normalHyperlinkAttrsKey, grayedHyperlinkAttrs);
- }
- }
- return grayedHyperlinkAttrs;
- }
}
enum NextAction {
}
class ResultItem {
+ private static final Map<TextAttributesKey, TextAttributes> GRAYED_BY_NORMAL_CACHE = ContainerUtil.newConcurrentMap(2);
+ static {
+ ApplicationManager.getApplication().getMessageBus().connect().subscribe(EditorColorsManager.TOPIC, new EditorColorsListener() {
+ @Override
+ public void globalSchemeChange(EditorColorsScheme scheme) {
+ // invalidate cache on Appearance Theme/Editor Scheme change
+ GRAYED_BY_NORMAL_CACHE.clear();
+ }
+ });
+ }
+
/**
* @deprecated use getter, the visibility of this field will be decreased.
*/
this(highlightStartOffset, highlightEndOffset, hyperlinkInfo, highlightAttributes, null);
}
+ public ResultItem(int highlightStartOffset,
+ int highlightEndOffset,
+ @Nullable HyperlinkInfo hyperlinkInfo,
+ boolean grayedHyperlink) {
+ this(highlightStartOffset, highlightEndOffset, hyperlinkInfo,
+ grayedHyperlink ? getGrayedHyperlinkAttributes(CodeInsightColors.HYPERLINK_ATTRIBUTES) : null,
+ grayedHyperlink ? getGrayedHyperlinkAttributes(CodeInsightColors.FOLLOWED_HYPERLINK_ATTRIBUTES) : null);
+ }
+
@SuppressWarnings("deprecation")
public ResultItem(final int highlightStartOffset,
final int highlightEndOffset,
//noinspection deprecation
return hyperlinkInfo;
}
+
+ @Nullable
+ private static TextAttributes getGrayedHyperlinkAttributes(@NotNull TextAttributesKey normalHyperlinkAttrsKey) {
+ EditorColorsScheme globalScheme = EditorColorsManager.getInstance().getGlobalScheme();
+ TextAttributes grayedHyperlinkAttrs = GRAYED_BY_NORMAL_CACHE.get(normalHyperlinkAttrsKey);
+ if (grayedHyperlinkAttrs == null) {
+ TextAttributes normalHyperlinkAttrs = globalScheme.getAttributes(normalHyperlinkAttrsKey);
+ if (normalHyperlinkAttrs != null) {
+ grayedHyperlinkAttrs = normalHyperlinkAttrs.clone();
+ grayedHyperlinkAttrs.setForegroundColor(UIUtil.getInactiveTextColor());
+ grayedHyperlinkAttrs.setEffectColor(UIUtil.getInactiveTextColor());
+ GRAYED_BY_NORMAL_CACHE.put(normalHyperlinkAttrsKey, grayedHyperlinkAttrs);
+ }
+ }
+ return grayedHyperlinkAttrs;
+ }
}
/**