mirror of
https://github.com/chylex/IntelliJ-Inspection-Lens.git
synced 2025-04-23 12:15:46 +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 {
|
||||
version.set("2023.1")
|
||||
updateSinceUntilBuild.set(false)
|
||||
|
||||
plugins.add("tanvd.grazi")
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
import com.intellij.lang.annotation.HighlightSeverity
|
||||
import com.intellij.spellchecker.SpellCheckerSeveritiesProvider
|
||||
import com.intellij.ui.ColorUtil
|
||||
import com.intellij.ui.JBColor
|
||||
import java.awt.Color
|
||||
import java.awt.Font
|
||||
import java.util.Collections
|
||||
|
||||
/**
|
||||
* 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),
|
||||
WEAK_WARNING (Color(117, 109, 86), lightThemeDarkening = 3, darkThemeBrightening = 3),
|
||||
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);
|
||||
|
||||
val colorAttributes: LensSeverityTextAttributes
|
||||
@ -28,12 +32,23 @@ enum class LensSeverity(baseColor: Color, lightThemeDarkening: Int, darkThemeBri
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun from(severity: HighlightSeverity) = when (severity) {
|
||||
HighlightSeverity.ERROR -> ERROR
|
||||
HighlightSeverity.WARNING -> WARNING
|
||||
HighlightSeverity.WEAK_WARNING -> WEAK_WARNING
|
||||
HighlightSeverity.GENERIC_SERVER_ERROR_OR_WARNING -> SERVER_PROBLEM
|
||||
else -> OTHER
|
||||
private val mapping = Collections.synchronizedMap(mapOf(
|
||||
HighlightSeverity.ERROR to ERROR,
|
||||
HighlightSeverity.WARNING to WARNING,
|
||||
HighlightSeverity.WEAK_WARNING to WEAK_WARNING,
|
||||
HighlightSeverity.GENERIC_SERVER_ERROR_OR_WARNING to SERVER_PROBLEM,
|
||||
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>
|
||||
|
||||
<depends>com.intellij.modules.platform</depends>
|
||||
<depends optional="true" config-file="compatibility/InspectionLens-Grazie.xml">tanvd.grazi</depends>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<applicationService serviceImplementation="com.chylex.intellij.inspectionlens.InspectionLensPluginDisposableService" />
|
||||
|
Loading…
Reference in New Issue
Block a user