package krasa.grepconsole.action;
import java.io.File;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
/**
* @author Vojtech Krasa
*/
public class OpenCurrentFileInConsoleAction extends OpenFileInConsoleAction {
@Override
public void actionPerformed(AnActionEvent e) {
Editor editor = e.getData(PlatformDataKeys.EDITOR);
if (editor != null) {
final Project project = getEventProject(e);
final PsiDocumentManager manager = PsiDocumentManager.getInstance(project);
final PsiFile psiFile = manager.getPsiFile(editor.getDocument());
if (psiFile != null) {
final VirtualFile virtualFile = psiFile.getVirtualFile();
final String path = virtualFile.getPath();
openFileInConsole(project, new File(path));
}
}
}
@Override
public void update(AnActionEvent e) {
super.update(e);
Editor editor = e.getData(PlatformDataKeys.EDITOR);
if (editor != null) {
final Project project = getEventProject(e);
final PsiDocumentManager manager = PsiDocumentManager.getInstance(project);
final PsiFile psiFile = manager.getPsiFile(editor.getDocument());
e.getPresentation().setEnabled(psiFile != null);
} else {
e.getPresentation().setEnabled(false);
}
}
}