[kotlin] hide ModuleStructureFilterExtension

GitOrigin-RevId: 6b3d79e2f3074cb14c492708f9020648a5d38508
This commit is contained in:
Vlad Koshkin
2024-07-30 15:12:15 +02:00
committed by intellij-monorepo-bot
parent 19c5284467
commit 8511feda42
2 changed files with 11 additions and 5 deletions

View File

@@ -239,8 +239,7 @@ public class ModuleStructureConfigurable extends BaseStructureConfigurable imple
ModuleGroupingTreeHelper.createDefaultGrouping(moduleGrouper),
ModuleStructureConfigurable::createModuleGroupNode,
m -> createModuleNode(m, moduleGrouper), getNodeComparator());
var filters = ModuleStructureFilterExtension.EP_NAME.getExtensionList();
var modules = Arrays.stream(myModuleManager.getModules()).filter(module -> ContainerUtil.and(filters, filter -> filter.accepts(module))).toList();
var modules = Arrays.stream(myModuleManager.getModules()).filter(module -> ModuleStructureFilterExtension.isAllowed(module)).toList();
helper.createModuleNodes(modules, myRoot, getTreeModel());
if (containsSecondLevelNodes(myRoot)) {
myTree.setShowsRootHandles(true);

View File

@@ -9,11 +9,18 @@ import org.jetbrains.annotations.NotNull;
Allows to exclude modules from 'Project Structure' | 'Modules' view
*/
public abstract class ModuleStructureFilterExtension {
public static final ExtensionPointName<ModuleStructureFilterExtension> EP_NAME =
private static final ExtensionPointName<ModuleStructureFilterExtension> EP_NAME =
ExtensionPointName.create("com.intellij.configuration.moduleStructureFilterExtension");
public boolean accepts(@NotNull Module module) {
protected abstract boolean accepts(@NotNull Module module);
static boolean isAllowed(@NotNull Module module) {
for (var filter : EP_NAME.getExtensionList()) {
if (!filter.accepts(module)) {
return false;
}
}
return true;
}
}