boolean (@NotNull AnActionEvent e) { if (e.getProject() != null) { PsiFile file = e.getData(CommonDataKeys.PSI_FILE); if (file != null) { var runningProhibited = ContainerUtil.exists(ShRunnerAdditionalCondition.EP.getExtensionsIfPointIsRegistered(), runningCondition -> { return runningCondition.isRunningProhibitedForFile(file); }); if (runningProhibited) return false; if (file instanceof ShFile) return true; PsiElement firstChild = file.findElementAt(0); return firstChild instanceof PsiComment && firstChild.getText().startsWith("#!"); } } return false; }