KotlinUnusedImportInspection: use LocalQuickFixOnPsiElement
This commit is contained in:
@@ -24,10 +24,7 @@ import com.intellij.codeInsight.daemon.impl.DaemonListeners
|
|||||||
import com.intellij.codeInsight.daemon.impl.DaemonProgressIndicator
|
import com.intellij.codeInsight.daemon.impl.DaemonProgressIndicator
|
||||||
import com.intellij.codeInsight.daemon.impl.HighlightingSessionImpl
|
import com.intellij.codeInsight.daemon.impl.HighlightingSessionImpl
|
||||||
import com.intellij.codeInsight.intention.LowPriorityAction
|
import com.intellij.codeInsight.intention.LowPriorityAction
|
||||||
import com.intellij.codeInspection.InspectionManager
|
import com.intellij.codeInspection.*
|
||||||
import com.intellij.codeInspection.LocalQuickFix
|
|
||||||
import com.intellij.codeInspection.ProblemDescriptor
|
|
||||||
import com.intellij.codeInspection.ProblemHighlightType
|
|
||||||
import com.intellij.lang.annotation.HighlightSeverity
|
import com.intellij.lang.annotation.HighlightSeverity
|
||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
@@ -39,6 +36,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.openapi.util.Disposer
|
import com.intellij.openapi.util.Disposer
|
||||||
import com.intellij.openapi.util.TextRange
|
import com.intellij.openapi.util.TextRange
|
||||||
import com.intellij.psi.PsiDocumentManager
|
import com.intellij.psi.PsiDocumentManager
|
||||||
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.psi.PsiWhiteSpace
|
import com.intellij.psi.PsiWhiteSpace
|
||||||
import com.intellij.psi.util.PsiUtilBase
|
import com.intellij.psi.util.PsiUtilBase
|
||||||
@@ -217,22 +215,22 @@ class KotlinUnusedImportInspection : AbstractKotlinInspection() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OptimizeImportsQuickFix(private val file: KtFile) : LocalQuickFix {
|
private class OptimizeImportsQuickFix(file: KtFile) : LocalQuickFixOnPsiElement(file) {
|
||||||
override fun getName() = "Optimize imports"
|
override fun getText() = "Optimize imports"
|
||||||
|
|
||||||
override fun getFamilyName() = name
|
override fun getFamilyName() = name
|
||||||
|
|
||||||
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
|
override fun invoke(project: Project, file: PsiFile, startElement: PsiElement, endElement: PsiElement) {
|
||||||
OptimizeImportsProcessor(project, file).run()
|
OptimizeImportsProcessor(project, file).run()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class EnableOptimizeImportsOnTheFlyFix(private val file: KtFile) : LocalQuickFix, LowPriorityAction {
|
private class EnableOptimizeImportsOnTheFlyFix(file: KtFile) : LocalQuickFixOnPsiElement(file), LowPriorityAction {
|
||||||
override fun getName(): String = QuickFixBundle.message("enable.optimize.imports.on.the.fly")
|
override fun getText(): String = QuickFixBundle.message("enable.optimize.imports.on.the.fly")
|
||||||
|
|
||||||
override fun getFamilyName() = name
|
override fun getFamilyName() = name
|
||||||
|
|
||||||
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
|
override fun invoke(project: Project, file: PsiFile, startElement: PsiElement, endElement: PsiElement) {
|
||||||
CodeInsightWorkspaceSettings.getInstance(project).optimizeImportsOnTheFly = true
|
CodeInsightWorkspaceSettings.getInstance(project).optimizeImportsOnTheFly = true
|
||||||
OptimizeImportsProcessor(
|
OptimizeImportsProcessor(
|
||||||
project,
|
project,
|
||||||
|
|||||||
Reference in New Issue
Block a user