From 259d1f50c6901188dc8b2b37dcfb1a0e4ce7dee4 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Fri, 21 Jun 2019 18:22:16 +0300 Subject: [PATCH] Themes: Support color palette inside *{} GitOrigin-RevId: d5efd8e719ef276d2c2fa306735316c0ebbb6529 --- .../platform-impl/src/com/intellij/ide/ui/UITheme.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ui/UITheme.java b/platform/platform-impl/src/com/intellij/ide/ui/UITheme.java index 004b5f1f4e4f..9695d389d4c3 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/UITheme.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/UITheme.java @@ -300,14 +300,15 @@ public class UITheme { } else { String valueStr = value.toString(); + Color color = null; if (theme.colors != null && theme.colors.containsKey(valueStr)) { - Color color = parseColor(String.valueOf(theme.colors.get(valueStr))); - if (color != null) { + color = parseColor(String.valueOf(theme.colors.get(valueStr))); + if (color != null && !key.startsWith("*")) { defaults.put(key, color); return; } } - value = parseValue(key, valueStr); + value = color == null ? parseValue(key, valueStr) : color; if (key.startsWith("*.")) { String tail = key.substring(1); Object finalValue = value; @@ -425,7 +426,8 @@ public class UITheme { return null; } } - return ColorUtil.fromHex(value, null); + Color color = ColorUtil.fromHex(value, null); + return color == null ? null : new ColorUIResource(color); } private static Integer getInteger(String value, @Nullable String key) {