new colors for stripes (IDEA-131263)

This commit is contained in:
Sergey Ignatov
2014-11-26 19:46:04 +03:00
parent 4f0a610f55
commit f4c955145a
7 changed files with 81 additions and 75 deletions
+21 -13
View File
@@ -557,7 +557,7 @@
<value>
<option name="EFFECT_COLOR" value="bc3f3c" />
<option name="EFFECT_TYPE" value="2" />
<option name="ERROR_STRIPE_COLOR" value="bc3f3c" />
<option name="ERROR_STRIPE_COLOR" value="9e2927" />
</value>
</option>
<option name="EXECUTIONPOINT_ATTRIBUTES">
@@ -587,7 +587,7 @@
<value>
<option name="EFFECT_COLOR" value="f49810" />
<option name="EFFECT_TYPE" value="1" />
<option name="ERROR_STRIPE_COLOR" value="f49810" />
<option name="ERROR_STRIPE_COLOR" value="B06100" />
</value>
</option>
<option name="GRADLE_CHANGE_CONFLICT">
@@ -710,7 +710,7 @@
<option name="IDENTIFIER_UNDER_CARET_ATTRIBUTES">
<value>
<option name="BACKGROUND" value="344134" />
<option name="ERROR_STRIPE_COLOR" value="5d8e48" />
<option name="ERROR_STRIPE_COLOR" value="036b13" />
<option name="EFFECT_TYPE" value="1" />
</value>
</option>
@@ -731,7 +731,7 @@
<value>
<option name="EFFECT_COLOR" value="aeae80" />
<option name="EFFECT_TYPE" value="2" />
<option name="ERROR_STRIPE_COLOR" value="aeae80" />
<option name="ERROR_STRIPE_COLOR" value="756D56" />
</value>
</option>
<option name="INJECTED_LANGUAGE_FRAGMENT">
@@ -1367,7 +1367,6 @@
<option name="SEARCH_RESULT_ATTRIBUTES">
<value>
<option name="BACKGROUND" value="155221" />
<option name="ERROR_STRIPE_COLOR" value="246e00" />
</value>
</option>
<option name="SPY-JS.FUNCTION_SCOPE">
@@ -1486,16 +1485,16 @@
</option>
<option name="TEXT_SEARCH_RESULT_ATTRIBUTES">
<value>
<option name="BACKGROUND" value="425f44" />
<option name="EFFECT_COLOR" value="56ac48" />
<option name="ERROR_STRIPE_COLOR" value="425f44" />
<option name="BACKGROUND" value="32593D" />
<option name="EFFECT_COLOR" value="3C704B" />
<option name="ERROR_STRIPE_COLOR" value="61936f" />
</value>
</option>
<option name="TODO_DEFAULT_ATTRIBUTES">
<value>
<option name="FOREGROUND" value="a8c023" />
<option name="FOREGROUND" value="0264ab" />
<option name="FONT_TYPE" value="2" />
<option name="ERROR_STRIPE_COLOR" value="a74c0" />
<option name="ERROR_STRIPE_COLOR" value="015998" />
</value>
</option>
<option name="OC.TYPEDEF">
@@ -1511,10 +1510,20 @@
</option>
<option name="TYPO">
<value>
<option name="EFFECT_COLOR" value="867f27" />
<option name="EFFECT_COLOR" value="6C7507" />
<option name="EFFECT_TYPE" value="2" />
</value>
</option>
<option name="NO_ANALYSIS">
<value>
<option name="ERROR_STRIPE_COLOR" value="777777" />
</value>
</option>
<option name="DO_NOT_SHOW">
<value>
<option name="ERROR_STRIPE_COLOR" value="266109" />
</value>
</option>
<option name="Type parameter">
<value>
<option name="FOREGROUND" value="507874" />
@@ -1580,14 +1589,13 @@
<option name="WRITE_IDENTIFIER_UNDER_CARET_ATTRIBUTES">
<value>
<option name="BACKGROUND" value="40332b" />
<option name="ERROR_STRIPE_COLOR" value="cc7832" />
<option name="ERROR_STRIPE_COLOR" value="b56277" />
<option name="EFFECT_TYPE" value="1" />
</value>
</option>
<option name="WRITE_SEARCH_RESULT_ATTRIBUTES">
<value>
<option name="BACKGROUND" value="532b2e" />
<option name="ERROR_STRIPE_COLOR" value="c55450" />
</value>
</option>
<option name="WRONG_REFERENCES_ATTRIBUTES">
@@ -18,11 +18,9 @@ package com.intellij.codeHighlighting;
import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.openapi.editor.colors.CodeInsightColors;
import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.util.Comparing;
import com.intellij.ui.JBColor;
import com.intellij.util.containers.HashMap;
import com.intellij.util.ui.ColorIcon;
import org.jetbrains.annotations.NotNull;
@@ -39,10 +37,8 @@ public class HighlightDisplayLevel {
createIconByKey(CodeInsightColors.GENERIC_SERVER_ERROR_OR_WARNING));
public static final HighlightDisplayLevel ERROR = new HighlightDisplayLevel(HighlightSeverity.ERROR, createIconByKey(CodeInsightColors.ERRORS_ATTRIBUTES));
public static final HighlightDisplayLevel WARNING = new HighlightDisplayLevel(HighlightSeverity.WARNING, createIconByKey(CodeInsightColors.WARNINGS_ATTRIBUTES));
// todo: move to color schemas
public static final Color GREEN = new JBColor(new Color(113, 178, 98), new Color(30, 160, 0));
public static final Color TYPO = new JBColor(new Color(176, 209, 171), new Color(30, 160, 0));
public static final HighlightDisplayLevel DO_NOT_SHOW = new HighlightDisplayLevel(HighlightSeverity.INFORMATION, createIconByMask(GREEN));
private static final Icon DO_NOT_SHOW_KEY = createIconByKey(TextAttributesKey.createTextAttributesKey("DO_NOT_SHOW"));
public static final HighlightDisplayLevel DO_NOT_SHOW = new HighlightDisplayLevel(HighlightSeverity.INFORMATION, DO_NOT_SHOW_KEY);
/**
* use #WEAK_WARNING instead
*/
@@ -100,8 +96,8 @@ public class HighlightDisplayLevel {
return mySeverity;
}
public static void registerSeverity(@NotNull HighlightSeverity severity, final Color renderColor) {
Icon severityIcon = createIconByMask(renderColor);
public static void registerSeverity(@NotNull HighlightSeverity severity, final TextAttributesKey key) {
Icon severityIcon = createIconByKey(key);
final HighlightDisplayLevel level = ourMap.get(severity);
if (level == null) {
new HighlightDisplayLevel(severity, severityIcon);
@@ -147,19 +143,20 @@ public class HighlightDisplayLevel {
public Color getColor() {
final EditorColorsManager manager = EditorColorsManager.getInstance();
if (manager != null) {
final EditorColorsScheme globalScheme = manager.getGlobalScheme();
return globalScheme.getAttributes(myKey).getErrorStripeColor();
TextAttributes attributes = manager.getGlobalScheme().getAttributes(myKey);
Color stripe = attributes.getErrorStripeColor();
if (stripe != null) return stripe;
return attributes.getEffectColor();
}
TextAttributes defaultAttributes = myKey.getDefaultAttributes();
if (defaultAttributes == null) defaultAttributes = TextAttributes.ERASE_MARKER;
return defaultAttributes.getErrorStripeColor();
return defaultAttributes.getErrorStripeColor();
}
@Override
public void paintIcon(final Component c, final Graphics g, final int x, final int y) {
final Graphics2D g2 = (Graphics2D)g;
g2.setColor(getColor());
g2.fillRect(x, y, EMPTY_ICON_DIM, EMPTY_ICON_DIM);
g.setColor(getColor());
g.fillRect(x, y, EMPTY_ICON_DIM, EMPTY_ICON_DIM);
}
@Override
@@ -172,4 +169,17 @@ public class HighlightDisplayLevel {
return EMPTY_ICON_DIM;
}
}
public static class SemiBorderIcon extends SingleColorIcon {
public SemiBorderIcon(TextAttributesKey key) {
super(key);
}
@Override
public void paintIcon(Component component, Graphics g, int x, int y) {
g.setColor(getColor());
g.fillRect(x, y, 1, getIconHeight());
g.fillRect(x, y + getIconHeight() - 1, getIconWidth(), 1);
}
}
}
@@ -93,7 +93,7 @@ public class SeverityRegistrar implements JDOMExternalizable, Comparator<Highlig
myRendererColors.put(severity.getName(), renderColor);
}
myOrderMap = null;
HighlightDisplayLevel.registerSeverity(severity, renderColor);
HighlightDisplayLevel.registerSeverity(severity, getHighlightInfoTypeBySeverity(severity).getAttributesKey());
severitiesChanged();
}
@@ -29,6 +29,7 @@ import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.ex.EditorMarkupModel;
import com.intellij.openapi.editor.ex.MarkupModelEx;
import com.intellij.openapi.editor.ex.RangeHighlighterEx;
@@ -47,13 +48,10 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.FileViewProvider;
import com.intellij.psi.PsiCompiledElement;
import com.intellij.psi.PsiFile;
import com.intellij.ui.ColorUtil;
import com.intellij.ui.JBColor;
import com.intellij.ui.LayeredIcon;
import com.intellij.util.ArrayUtil;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.io.storage.HeavyProcessLatch;
import com.intellij.util.ui.EmptyIcon;
import com.intellij.util.ui.UIUtil;
import com.intellij.xml.util.XmlStringUtil;
import gnu.trove.TIntArrayList;
@@ -67,7 +65,8 @@ import java.util.*;
import java.util.List;
public class TrafficLightRenderer implements ErrorStripeRenderer, Disposable {
private static final Icon NO_ANALYSIS = new SemiBorderIcon();
private static final TextAttributesKey NO_ANALYSIS = TextAttributesKey.createTextAttributesKey("NO_ANALYSIS");
private static final Icon NO_ANALYSIS_ICON = new HighlightDisplayLevel.SemiBorderIcon(NO_ANALYSIS);
private final Project myProject;
private final Document myDocument;
private final PsiFile myFile;
@@ -341,7 +340,7 @@ public class TrafficLightRenderer implements ErrorStripeRenderer, Disposable {
statusExtraLine = "(" + status.reasonWhyDisabled + ")";
passStatusesVisible = true;
progressBarsCompleted = Boolean.FALSE;
icon = NO_ANALYSIS;
icon = NO_ANALYSIS_ICON;
return result;
}
if (status.reasonWhySuspended != null) {
@@ -416,17 +415,4 @@ public class TrafficLightRenderer implements ErrorStripeRenderer, Disposable {
passes.put(pass, Pair.create(progressBar, percLabel));
}
}
public static class SemiBorderIcon extends EmptyIcon {
public SemiBorderIcon() {
super(HighlightDisplayLevel.EMPTY_ICON_DIM, HighlightDisplayLevel.EMPTY_ICON_DIM);
}
@Override
public void paintIcon(Component component, Graphics g, int x, int y) {
g.setColor(new JBColor(ColorUtil.fromHex("d3d3d3"), ColorUtil.fromHex("4a4a4b")));
g.fillRect(x, y, 1, getIconHeight());
g.fillRect(x, y + getIconHeight() - 1, getIconWidth(), 1);
}
}
}
@@ -30,10 +30,7 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.components.*;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.options.BaseSchemeProcessor;
import com.intellij.openapi.options.Scheme;
@@ -148,17 +145,12 @@ public class InspectionProfileManagerImpl extends InspectionProfileManager imple
}
public static void registerProvidedSeverities() {
final EditorColorsScheme scheme = EditorColorsManager.getInstance().getGlobalScheme();
for (SeveritiesProvider provider : Extensions.getExtensions(SeveritiesProvider.EP_NAME)) {
for (HighlightInfoType highlightInfoType : provider.getSeveritiesHighlightInfoTypes()) {
final HighlightSeverity highlightSeverity = highlightInfoType.getSeverity(null);
HighlightSeverity highlightSeverity = highlightInfoType.getSeverity(null);
SeverityRegistrar.registerStandard(highlightInfoType, highlightSeverity);
final TextAttributesKey attributesKey = highlightInfoType.getAttributesKey();
TextAttributes textAttributes = scheme.getAttributes(attributesKey);
if (textAttributes == null) {
textAttributes = attributesKey.getDefaultAttributes();
}
HighlightDisplayLevel.registerSeverity(highlightSeverity, provider.getTrafficRendererColor(textAttributes));
TextAttributesKey attributesKey = highlightInfoType.getAttributesKey();
HighlightDisplayLevel.registerSeverity(highlightSeverity, attributesKey);
}
}
}
@@ -24,9 +24,9 @@
<option name="SELECTED_TEARLINE_COLOR" value="9C9C9C"/>
<option name="READONLY_FRAGMENT_BACKGROUND" value="cfe7ff"/>
<option name="ADDED_LINES_COLOR" value="CBE3CA"/>
<option name="MODIFIED_LINES_COLOR" value="C7D5E2"/>
<option name="DELETED_LINES_COLOR" value="9F9F9F"/>
<option name="ADDED_LINES_COLOR" value="c3d6e8"/>
<option name="MODIFIED_LINES_COLOR" value="c9dec1"/>
<option name="DELETED_LINES_COLOR" value="9f9f9f"/>
<option name="WHITESPACES_MODIFIED_LINES_COLOR" value="ffffff"/>
<option name="CONSOLE_BACKGROUND_KEY" value="ffffff" />
</colors>
@@ -599,7 +599,7 @@
<value>
<option name="FOREGROUND"/>
<option name="BACKGROUND" value="e4e4ff"/>
<option name="ERROR_STRIPE_COLOR" value="b8b8e5"/>
<option name="ERROR_STRIPE_COLOR" value="baa8ff"/>
<option name="EFFECT_COLOR"/>
</value>
</option>
@@ -608,7 +608,7 @@
<value>
<option name="FOREGROUND"/>
<option name="BACKGROUND" value="ffe4ff"/>
<option name="ERROR_STRIPE_COLOR" value="e0b4e0"/>
<option name="ERROR_STRIPE_COLOR" value="f0adf0"/>
<option name="EFFECT_COLOR"/>
</value>
</option>
@@ -654,7 +654,7 @@
<option name="NOT_TOP_FRAME_ATTRIBUTES">
<value>
<option name="BACKGROUND" value="e1ebf7"/>
<option name="BACKGROUND" value="c0d0f0"/>
</value>
</option>
@@ -810,7 +810,7 @@
<option name="TODO_ATTRIBUTES">
<value>
<option name="FOREGROUND" value="ff"/>
<option name="FOREGROUND" value="3a53cf"/>
<option name="BACKGROUND"/>
<option name="EFFECT_COLOR"/>
<option name="FONT_TYPE" value="3"/>
@@ -880,12 +880,28 @@
</option>
<option name="TODO_DEFAULT_ATTRIBUTES">
<value>
<option name="FOREGROUND" value="ff" />
<option name="FOREGROUND" value="347fcf" />
<option name="BACKGROUND" />
<option name="FONT_TYPE" value="3" />
<option name="EFFECT_COLOR" />
<option name="EFFECT_TYPE" value="0" />
<option name="ERROR_STRIPE_COLOR" value="295CFF" />
<option name="ERROR_STRIPE_COLOR" value="4c97ff" />
</value>
</option>
<option name="TYPO">
<value>
<option name="EFFECT_COLOR" value="B0D1AB" />
<option name="EFFECT_TYPE" value="2" />
</value>
</option>
<option name="NO_ANALYSIS">
<value>
<option name="ERROR_STRIPE_COLOR" value="d3d3d3" />
</value>
</option>
<option name="DO_NOT_SHOW">
<value>
<option name="ERROR_STRIPE_COLOR" value="71B262" />
</value>
</option>
<option name="BOOKMARKS_ATTRIBUTES">
@@ -20,12 +20,10 @@
*/
package com.intellij.spellchecker;
import com.intellij.codeHighlighting.HighlightDisplayLevel;
import com.intellij.codeInsight.daemon.impl.HighlightInfoType;
import com.intellij.codeInsight.daemon.impl.SeveritiesProvider;
import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.markup.EffectType;
import com.intellij.openapi.editor.markup.TextAttributes;
import org.jetbrains.annotations.NotNull;
@@ -34,23 +32,19 @@ import java.util.Collections;
import java.util.List;
public class SpellCheckerSeveritiesProvider extends SeveritiesProvider {
private static final TextAttributesKey TYPO_KEY = TextAttributesKey.createTextAttributesKey("TYPO");
public static final HighlightSeverity TYPO = new HighlightSeverity("TYPO", HighlightSeverity.INFORMATION.myVal + 5);
@Override
@NotNull
public List<HighlightInfoType> getSeveritiesHighlightInfoTypes() {
final TextAttributes attributes = new TextAttributes();
attributes.setEffectType(EffectType.WAVE_UNDERSCORE);
attributes.setEffectColor(HighlightDisplayLevel.TYPO);
HighlightInfoType typo = new HighlightInfoType.HighlightInfoTypeImpl(TYPO, TextAttributesKey.createTextAttributesKey("TYPO", attributes));
HighlightInfoType typo = new HighlightInfoType.HighlightInfoTypeImpl(TYPO, TYPO_KEY);
return Collections.singletonList(typo);
}
@Override
public Color getTrafficRendererColor(@NotNull TextAttributes textAttributes) {
return HighlightDisplayLevel.TYPO;
return textAttributes.getErrorStripeColor();
}
@Override