package com.eslint.fixes;
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
import com.intellij.codeInsight.intention.HighPriorityAction;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* @author idok
*/
public abstract class BaseActionFix extends LocalQuickFixAndIntentionActionOnPsiElement implements IntentionAction, HighPriorityAction {
public BaseActionFix(PsiElement element) {
super(element);
}
@NotNull
@Override
public String getFamilyName() {
return getText();
}
// @Override
// public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
// return true;
// }
// protected abstract void fix(@NotNull Project project, Editor editor, PsiFile file, PsiElement start);
// @Override
// public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
// fix(project, editor, file);
// DaemonCodeAnalyzer.getInstance(project).restart(file);
// }
// public void invoke(@NotNull Project project, @NotNull PsiFile file, @Nullable("is null when called from inspection") Editor editor, @NotNull PsiElement start, @NotNull PsiElement end) {
// invoke(project, editor, file, start);
// }
@Override
public boolean startInWriteAction() {
return true;
}
}