-
Notifications
You must be signed in to change notification settings - Fork 31
/
AnnotatorCommon.kt
32 lines (27 loc) · 1.24 KB
/
AnnotatorCommon.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package snyk.common
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiFile
import io.snyk.plugin.Severity
import io.snyk.plugin.events.SnykResultsFilteringListener
import io.snyk.plugin.pluginSettings
import io.snyk.plugin.refreshAnnotationsForOpenFiles
object AnnotatorCommon {
val logger = logger<AnnotatorCommon>()
fun prepareAnnotate(psiFile: PsiFile?) {
logger.debug("Preparing annotation for $psiFile")
// todo: review later if any way to provide up-to-date context for CLI scans is available
// force saving here will break some user's workflow: https://github.com/snyk/snyk-intellij-plugin/issues/324
}
fun isSeverityToShow(severity: Severity): Boolean =
pluginSettings().hasSeverityEnabled(severity) || severity == Severity.UNKNOWN
fun initRefreshing(project: Project) {
logger.debug("Initializing annotations refresh listener")
project.messageBus.connect()
.subscribe(SnykResultsFilteringListener.SNYK_FILTERING_TOPIC, object : SnykResultsFilteringListener {
override fun filtersChanged() {
refreshAnnotationsForOpenFiles(project)
}
})
}
}