package com.chrisfolger.needsmoredojo.intellij.inspections;
import com.chrisfolger.needsmoredojo.core.amd.AMDImport;
import com.chrisfolger.needsmoredojo.core.amd.psi.AMDPsiUtil;
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 RemoveImportQuickFix implements LocalQuickFix {
private PsiElement define;
private PsiElement parameter;
public RemoveImportQuickFix(PsiElement define, PsiElement parameter) {
this.define = define;
this.parameter = parameter;
}
@NotNull
@Override
public String getName() {
return "Delete " + define.getText() + " and its parameter";
}
@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() {
AMDPsiUtil.removeSingleImport(new AMDImport((JSElement)define, (JSElement) parameter));
}
});
}
},
"Remove unused import",
"Remove unused import");
}
}