package com.chrisfolger.needsmoredojo.intellij.inspections; import com.chrisfolger.needsmoredojo.core.amd.AMDImport; import com.chrisfolger.needsmoredojo.core.amd.psi.AMDPsiUtil; import com.chrisfolger.needsmoredojo.intellij.actions.UnusedImportsAction; import com.intellij.codeInspection.LocalQuickFix; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.lang.javascript.psi.JSElement; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; public class RemoveUnusedImportsQuickFix implements LocalQuickFix { private PsiElement define; private PsiElement parameter; public RemoveUnusedImportsQuickFix(PsiElement define, PsiElement parameter) { this.define = define; this.parameter = parameter; } @NotNull @Override public String getName() { return "Delete all unused imports"; } @NotNull @Override public String getFamilyName() { return "Needs More Dojo"; } @Override public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor problemDescriptor) { CommandProcessor.getInstance().executeCommand(project, new Runnable() { @Override public void run() { ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { UnusedImportsAction.removeUnusedImports(define.getContainingFile()); } }); } }, "Remove unused imports", "Remove unused imports"); } }