1
0
mirror of https://github.com/chylex/IntelliJ-Inspection-Lens.git synced 2025-05-06 05:34:06 +02:00

Replace light/dark theme detection with a standard API

This commit is contained in:
chylex 2023-04-12 06:45:08 +02:00
parent 33bb46d0be
commit 797efb48a2
Signed by: chylex
GPG Key ID: 4DE42C8F19A80548
2 changed files with 14 additions and 37 deletions
src/main/kotlin/com/chylex/intellij/inspectionlens

View File

@ -31,7 +31,7 @@ class LensRenderer(info: HighlightInfo) : HintRenderer(null) {
}
override fun getTextAttributes(editor: Editor): TextAttributes {
return ATTRIBUTES_SINGLETON.also { it.foregroundColor = severity.getColor(editor) }
return ATTRIBUTES_SINGLETON.also { it.foregroundColor = severity.color }
}
override fun useEditorFont(): Boolean {

View File

@ -1,50 +1,27 @@
package com.chylex.intellij.inspectionlens
import com.intellij.lang.annotation.HighlightSeverity
import com.intellij.openapi.editor.Editor
import com.intellij.ui.ColorUtil
import com.intellij.ui.JBColor
import java.awt.Color
/**
* Determines properties of inspection lenses based on severity.
*/
enum class LensSeverity(color: Color, darkThemeBrightening: Int, lightThemeDarkening: Int) {
ERROR(
Color(158, 41, 39),
darkThemeBrightening = 4,
lightThemeDarkening = 1,
),
@Suppress("UseJBColor", "InspectionUsingGrayColors")
enum class LensSeverity(baseColor: Color, lightThemeDarkening: Int, darkThemeBrightening: Int) {
ERROR (Color(158, 41, 39), lightThemeDarkening = 1, darkThemeBrightening = 4),
WARNING (Color(190, 145, 23), lightThemeDarkening = 4, darkThemeBrightening = 1),
WEAK_WARNING (Color(117, 109, 86), lightThemeDarkening = 3, darkThemeBrightening = 3),
SERVER_PROBLEM (Color(176, 97, 0), lightThemeDarkening = 4, darkThemeBrightening = 2),
OTHER (Color(128, 128, 128), lightThemeDarkening = 1, darkThemeBrightening = 2);
WARNING(
Color(190, 145, 23),
darkThemeBrightening = 1,
lightThemeDarkening = 4,
),
val color: JBColor
WEAK_WARNING(
Color(117, 109, 86),
darkThemeBrightening = 3,
lightThemeDarkening = 3,
),
SERVER_PROBLEM(
Color(176, 97, 0),
darkThemeBrightening = 2,
lightThemeDarkening = 4,
),
OTHER(
Color(128, 128, 128),
darkThemeBrightening = 2,
lightThemeDarkening = 1,
);
private val darkThemeColor = ColorUtil.desaturate(ColorUtil.brighter(color, darkThemeBrightening), 2)
private val lightThemeColor = ColorUtil.saturate(ColorUtil.darker(color, lightThemeDarkening), 1)
fun getColor(editor: Editor): Color {
val isDarkTheme = ColorUtil.isDark(editor.colorsScheme.defaultBackground)
return if (isDarkTheme) darkThemeColor else lightThemeColor
init {
val lightThemeColor = ColorUtil.saturate(ColorUtil.darker(baseColor, lightThemeDarkening), 1)
val darkThemeColor = ColorUtil.desaturate(ColorUtil.brighter(baseColor, darkThemeBrightening), 2)
color = JBColor(lightThemeColor, darkThemeColor)
}
companion object {