TextAttributesKey (@NotNull TextMateTheme textMateTheme) { Color defaultBackground = textMateTheme.getDefaultBackground(); Color mixedBackground = mixBackground(defaultBackground, myTextAttributes.getBackgroundColor(), myBackgroundAlpha); Color mixedForeground = mixBackground(defaultBackground, myTextAttributes.getForegroundColor(), myForegroundAlpha); if (mixedBackground == null && mixedForeground == null) { return TextAttributesKey.createTextAttributesKey("TextMateCustomRule_" + myScopeName, myTextAttributes); } TextAttributes result = new TextAttributes(); result.copyFrom(myTextAttributes); if (mixedForeground != null) { myTextAttributes.setForegroundColor(mixedForeground); } if (mixedBackground != null) { myTextAttributes.setBackgroundColor(mixedBackground); } return TextAttributesKey.createTextAttributesKey("TextMateCustomRule_" + TextMateTheme.INSTANCE.getName() + myScopeName, result); }