diff --git a/code_samples/tree_structure_provider/META-INF/plugin.xml b/code_samples/tree_structure_provider/META-INF/plugin.xml index 84a10e209..cd4c1f7e3 100644 --- a/code_samples/tree_structure_provider/META-INF/plugin.xml +++ b/code_samples/tree_structure_provider/META-INF/plugin.xml @@ -13,7 +13,7 @@ com.intellij.modules.lang - + diff --git a/code_samples/tree_structure_provider/scr/org/jetbrains/plugins/sample/tree/CustomTreeStructureProvider.java b/code_samples/tree_structure_provider/scr/org/jetbrains/plugins/sample/tree/CustomTreeStructureProvider.java deleted file mode 100644 index 75cf50a37..000000000 --- a/code_samples/tree_structure_provider/scr/org/jetbrains/plugins/sample/tree/CustomTreeStructureProvider.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.jetbrains.plugins.sample.tree; - -import com.intellij.ide.projectView.TreeStructureProvider; -import com.intellij.ide.projectView.ViewSettings; -import com.intellij.ide.util.treeView.AbstractTreeNode; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.Collection; -import java.util.Collections; - -/** - * @author Anna Bulenkova - */ -public class CustomTreeStructureProvider implements TreeStructureProvider { - @NotNull - @Override - public Collection modify(@NotNull AbstractTreeNode parent, @NotNull Collection children, ViewSettings viewSettings) { - return Collections.emptyList(); - } - - @Nullable - @Override - public Object getData(Collection collection, String s) { - return null; - } -} diff --git a/code_samples/tree_structure_provider/scr/org/jetbrains/plugins/sample/tree/TextOnlyTreeStructureProvider.java b/code_samples/tree_structure_provider/scr/org/jetbrains/plugins/sample/tree/TextOnlyTreeStructureProvider.java new file mode 100644 index 000000000..d97f975c8 --- /dev/null +++ b/code_samples/tree_structure_provider/scr/org/jetbrains/plugins/sample/tree/TextOnlyTreeStructureProvider.java @@ -0,0 +1,40 @@ +package org.jetbrains.plugins.sample.tree; + +import com.intellij.ide.projectView.TreeStructureProvider; +import com.intellij.ide.projectView.ViewSettings; +import com.intellij.ide.projectView.impl.nodes.PsiFileNode; +import com.intellij.ide.util.treeView.AbstractTreeNode; +import com.intellij.openapi.fileTypes.PlainTextFileType; +import com.intellij.openapi.vfs.VirtualFile; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; +import java.util.Collection; + +/** + * @author Anna Bulenkova + */ +public class TextOnlyTreeStructureProvider implements TreeStructureProvider { + @NotNull + @Override + public Collection modify(@NotNull AbstractTreeNode parent, @NotNull Collection children, ViewSettings settings) { + ArrayList nodes = new ArrayList(); + for (AbstractTreeNode child : children) { + if (child instanceof PsiFileNode) { + VirtualFile file = ((PsiFileNode) child).getVirtualFile(); + if (file != null && !file.isDirectory() && !(file.getFileType() instanceof PlainTextFileType)) { + continue; + } + } + nodes.add(child); + } + return nodes; + } + + @Nullable + @Override + public Object getData(Collection collection, String s) { + return null; + } +} \ No newline at end of file