mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
hide Groovy run configuration if there are no groovy files in project (IDEA-116046)
This commit is contained in:
@@ -103,4 +103,13 @@ public class FileTypeIndex extends ScalarIndexExtension<FileType>
|
||||
public Map<FileType, Void> map(FileContent inputData) {
|
||||
return Collections.singletonMap(inputData.getFileType(), null);
|
||||
}
|
||||
|
||||
public static boolean containsFileOfType(@NotNull FileType type, @NotNull GlobalSearchScope scope) {
|
||||
return !FileBasedIndex.getInstance().processValues(NAME, type, null, new FileBasedIndex.ValueProcessor<Void>() {
|
||||
@Override
|
||||
public boolean process(VirtualFile file, Void value) {
|
||||
return false;
|
||||
}
|
||||
}, scope);
|
||||
}
|
||||
}
|
||||
|
||||
+8
@@ -21,9 +21,12 @@ import com.intellij.execution.configurations.ConfigurationType;
|
||||
import com.intellij.execution.configurations.ConfigurationTypeUtil;
|
||||
import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.search.FileTypeIndex;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import icons.JetgroovyIcons;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.plugins.groovy.GroovyFileType;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -65,6 +68,11 @@ public class GroovyScriptRunConfigurationType implements ConfigurationType {
|
||||
super(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isApplicable(@NotNull Project project) {
|
||||
return FileTypeIndex.containsFileOfType(GroovyFileType.GROOVY_FILE_TYPE, GlobalSearchScope.allScope(project));
|
||||
}
|
||||
|
||||
public RunConfiguration createTemplateConfiguration(Project project) {
|
||||
return new GroovyScriptRunConfiguration("Groovy Script", project, this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user