mirror of
https://github.com/chylex/IntelliJ-Inspection-Lens.git
synced 2025-05-03 05:34:07 +02:00
Add distinct colors for typos and Grazie inspections
This commit is contained in:
parent
44f2fa5c16
commit
13f3002366
@ -21,6 +21,8 @@ dependencies {
|
|||||||
intellij {
|
intellij {
|
||||||
version.set("2023.1")
|
version.set("2023.1")
|
||||||
updateSinceUntilBuild.set(false)
|
updateSinceUntilBuild.set(false)
|
||||||
|
|
||||||
|
plugins.add("tanvd.grazi")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.patchPluginXml {
|
tasks.patchPluginXml {
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.chylex.intellij.inspectionlens.compatibility
|
||||||
|
|
||||||
|
import com.chylex.intellij.inspectionlens.editor.LensSeverity
|
||||||
|
import com.intellij.grazie.ide.TextProblemSeverities
|
||||||
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.openapi.startup.ProjectActivity
|
||||||
|
|
||||||
|
class GrazieSupport : ProjectActivity {
|
||||||
|
override suspend fun execute(project: Project) {
|
||||||
|
LensSeverity.registerMapping(TextProblemSeverities.GRAMMAR_ERROR, LensSeverity.ERROR)
|
||||||
|
LensSeverity.registerMapping(TextProblemSeverities.STYLE_ERROR, LensSeverity.GRAZIE)
|
||||||
|
LensSeverity.registerMapping(TextProblemSeverities.STYLE_WARNING, LensSeverity.GRAZIE)
|
||||||
|
LensSeverity.registerMapping(TextProblemSeverities.STYLE_SUGGESTION, LensSeverity.GRAZIE)
|
||||||
|
}
|
||||||
|
}
|
@ -1,10 +1,12 @@
|
|||||||
package com.chylex.intellij.inspectionlens.editor
|
package com.chylex.intellij.inspectionlens.editor
|
||||||
|
|
||||||
import com.intellij.lang.annotation.HighlightSeverity
|
import com.intellij.lang.annotation.HighlightSeverity
|
||||||
|
import com.intellij.spellchecker.SpellCheckerSeveritiesProvider
|
||||||
import com.intellij.ui.ColorUtil
|
import com.intellij.ui.ColorUtil
|
||||||
import com.intellij.ui.JBColor
|
import com.intellij.ui.JBColor
|
||||||
import java.awt.Color
|
import java.awt.Color
|
||||||
import java.awt.Font
|
import java.awt.Font
|
||||||
|
import java.util.Collections
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines properties of inspection lenses based on severity.
|
* Determines properties of inspection lenses based on severity.
|
||||||
@ -15,6 +17,8 @@ enum class LensSeverity(baseColor: Color, lightThemeDarkening: Int, darkThemeBri
|
|||||||
WARNING (Color(190, 145, 23), lightThemeDarkening = 4, darkThemeBrightening = 1),
|
WARNING (Color(190, 145, 23), lightThemeDarkening = 4, darkThemeBrightening = 1),
|
||||||
WEAK_WARNING (Color(117, 109, 86), lightThemeDarkening = 3, darkThemeBrightening = 3),
|
WEAK_WARNING (Color(117, 109, 86), lightThemeDarkening = 3, darkThemeBrightening = 3),
|
||||||
SERVER_PROBLEM (Color(176, 97, 0), lightThemeDarkening = 4, darkThemeBrightening = 2),
|
SERVER_PROBLEM (Color(176, 97, 0), lightThemeDarkening = 4, darkThemeBrightening = 2),
|
||||||
|
GRAZIE (Color( 53, 146, 196), lightThemeDarkening = 2, darkThemeBrightening = 1),
|
||||||
|
TYPO (Color( 73, 156, 84), lightThemeDarkening = 3, darkThemeBrightening = 1),
|
||||||
OTHER (Color(128, 128, 128), lightThemeDarkening = 1, darkThemeBrightening = 2);
|
OTHER (Color(128, 128, 128), lightThemeDarkening = 1, darkThemeBrightening = 2);
|
||||||
|
|
||||||
val colorAttributes: LensSeverityTextAttributes
|
val colorAttributes: LensSeverityTextAttributes
|
||||||
@ -28,12 +32,23 @@ enum class LensSeverity(baseColor: Color, lightThemeDarkening: Int, darkThemeBri
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun from(severity: HighlightSeverity) = when (severity) {
|
private val mapping = Collections.synchronizedMap(mapOf(
|
||||||
HighlightSeverity.ERROR -> ERROR
|
HighlightSeverity.ERROR to ERROR,
|
||||||
HighlightSeverity.WARNING -> WARNING
|
HighlightSeverity.WARNING to WARNING,
|
||||||
HighlightSeverity.WEAK_WARNING -> WEAK_WARNING
|
HighlightSeverity.WEAK_WARNING to WEAK_WARNING,
|
||||||
HighlightSeverity.GENERIC_SERVER_ERROR_OR_WARNING -> SERVER_PROBLEM
|
HighlightSeverity.GENERIC_SERVER_ERROR_OR_WARNING to SERVER_PROBLEM,
|
||||||
else -> OTHER
|
SpellCheckerSeveritiesProvider.TYPO to TYPO,
|
||||||
|
))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a mapping from a [HighlightSeverity] to a [LensSeverity]. Does not refresh existing editors.
|
||||||
|
*/
|
||||||
|
internal fun registerMapping(severity: HighlightSeverity, lensSeverity: LensSeverity) {
|
||||||
|
mapping[severity] = lensSeverity
|
||||||
|
}
|
||||||
|
|
||||||
|
fun from(severity: HighlightSeverity): LensSeverity {
|
||||||
|
return mapping.getOrDefault(severity, OTHER)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
<idea-plugin>
|
||||||
|
<extensions defaultExtensionNs="com.intellij">
|
||||||
|
<postStartupActivity implementation="com.chylex.intellij.inspectionlens.compatibility.GrazieSupport" />
|
||||||
|
</extensions>
|
||||||
|
</idea-plugin>
|
@ -39,6 +39,7 @@
|
|||||||
]]></change-notes>
|
]]></change-notes>
|
||||||
|
|
||||||
<depends>com.intellij.modules.platform</depends>
|
<depends>com.intellij.modules.platform</depends>
|
||||||
|
<depends optional="true" config-file="compatibility/InspectionLens-Grazie.xml">tanvd.grazi</depends>
|
||||||
|
|
||||||
<extensions defaultExtensionNs="com.intellij">
|
<extensions defaultExtensionNs="com.intellij">
|
||||||
<applicationService serviceImplementation="com.chylex.intellij.inspectionlens.InspectionLensPluginDisposableService" />
|
<applicationService serviceImplementation="com.chylex.intellij.inspectionlens.InspectionLensPluginDisposableService" />
|
||||||
|
Loading…
Reference in New Issue
Block a user