@@ -24,16 +24,32 @@ import org.polyfrost.intelliprocessor.Scope
2424import java.util.ArrayDeque
2525import java.util.Locale
2626
27- val BOLD_ATTRIBUTE = TextAttributes (null , null , null , null , java.awt.Font .BOLD )
2827val SCHEME = EditorColorsManager .getInstance().globalScheme
28+
29+ val COMMENT_COLOR = SCHEME .getAttributes(DefaultLanguageHighlighterColors .LINE_COMMENT ).foregroundColor
30+
31+ fun TextAttributes.fade (): TextAttributes {
32+ this .foregroundColor = this .foregroundColor?.let { c ->
33+ // fade halfway to comment colour
34+ val r = c.red + (COMMENT_COLOR .red - c.red) / 2
35+ val g = c.green + (COMMENT_COLOR .green - c.green) / 2
36+ val b = c.blue + (COMMENT_COLOR .blue - c.blue) / 2
37+ java.awt.Color (r, g, b)
38+ }
39+ return this
40+ }
41+
42+ val BOLD_ATTRIBUTE = TextAttributes (null , null , null , null , java.awt.Font .BOLD )
43+ val ITALIC_ATTRIBUTE = TextAttributes (null , null , null , null , java.awt.Font .ITALIC )
44+
2945val DIRECTIVE_COLOR : TextAttributesKey = DefaultLanguageHighlighterColors .KEYWORD
30- val DIRECTIVE_ATTRIBUTES : TextAttributes = TextAttributes .merge(SCHEME .getAttributes(DIRECTIVE_COLOR ), BOLD_ATTRIBUTE )
46+ val DIRECTIVE_ATTRIBUTES : TextAttributes = TextAttributes .merge(SCHEME .getAttributes(DIRECTIVE_COLOR ), ITALIC_ATTRIBUTE ).fade( )
3147val DIRECTIVE_TYPE = HighlightInfoType .HighlightInfoTypeImpl (HighlightSeverity .INFORMATION , DIRECTIVE_COLOR )
3248val IDENTIFIER_COLOR : TextAttributesKey = DefaultLanguageHighlighterColors .IDENTIFIER
33- val IDENTIFIER_ATTRIBUTES : TextAttributes = TextAttributes .merge(SCHEME .getAttributes(IDENTIFIER_COLOR ), BOLD_ATTRIBUTE )
49+ val IDENTIFIER_ATTRIBUTES : TextAttributes = TextAttributes .merge(SCHEME .getAttributes(IDENTIFIER_COLOR ), BOLD_ATTRIBUTE ).fade()
3450val IDENTIFIER_TYPE = HighlightInfoType .HighlightInfoTypeImpl (HighlightSeverity .INFORMATION , IDENTIFIER_COLOR )
3551val NUMBER_COLOR : TextAttributesKey = DefaultLanguageHighlighterColors .NUMBER
36- val NUMBER_ATTRIBUTES : TextAttributes = TextAttributes .merge(SCHEME .getAttributes(NUMBER_COLOR ), BOLD_ATTRIBUTE )
52+ val NUMBER_ATTRIBUTES : TextAttributes = TextAttributes .merge(SCHEME .getAttributes(NUMBER_COLOR ), BOLD_ATTRIBUTE ).fade()
3753val NUMBER_TYPE = HighlightInfoType .HighlightInfoTypeImpl (HighlightSeverity .INFORMATION , NUMBER_COLOR )
3854
3955private val WHITESPACES_PATTERN = " \\ s+" .toRegex()
@@ -206,7 +222,7 @@ class PreprocessorSyntaxHighlight(private val project: Project) : HighlightVisit
206222 val mergedAttr = highlighter.getTokenHighlights(lexer.tokenType!! )
207223 .fold(TextAttributes ()) { acc, attr ->
208224 TextAttributes .merge(acc, SCHEME .getAttributes(attr))
209- }
225+ }.fade()
210226
211227 holder.add(
212228 HighlightInfo .newHighlightInfo(HighlightInfoType .INJECTED_LANGUAGE_FRAGMENT )
0 commit comments