Skip to content

Commit cc84fe3

Browse files
authored
Merge pull request #17 from Traben-0/main
2 parents d8056f6 + 49f4643 commit cc84fe3

1 file changed

Lines changed: 21 additions & 5 deletions

File tree

src/main/kotlin/org/polyfrost/intelliprocessor/editor/PreprocessorSyntaxHighlight.kt

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,32 @@ import org.polyfrost.intelliprocessor.Scope
2424
import java.util.ArrayDeque
2525
import java.util.Locale
2626

27-
val BOLD_ATTRIBUTE = TextAttributes(null, null, null, null, java.awt.Font.BOLD)
2827
val 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+
2945
val 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()
3147
val DIRECTIVE_TYPE = HighlightInfoType.HighlightInfoTypeImpl(HighlightSeverity.INFORMATION, DIRECTIVE_COLOR)
3248
val 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()
3450
val IDENTIFIER_TYPE = HighlightInfoType.HighlightInfoTypeImpl(HighlightSeverity.INFORMATION, IDENTIFIER_COLOR)
3551
val 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()
3753
val NUMBER_TYPE = HighlightInfoType.HighlightInfoTypeImpl(HighlightSeverity.INFORMATION, NUMBER_COLOR)
3854

3955
private 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

Comments
 (0)