mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
[kotlin] hide ModuleStructureFilterExtension
GitOrigin-RevId: 6b3d79e2f3074cb14c492708f9020648a5d38508
This commit is contained in:
committed by
intellij-monorepo-bot
parent
19c5284467
commit
8511feda42
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user