package com.innovatian.idea.powershell.lang.parser; import com.innovatian.idea.powershell.PsFileType; import com.intellij.openapi.roots.ProjectFileIndex; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.search.DelegatingGlobalSearchScope; import com.intellij.psi.search.GlobalSearchScope; import org.jetbrains.annotations.NotNull; public class PsSourceFilterScope extends DelegatingGlobalSearchScope { private final ProjectFileIndex myIndex; public PsSourceFilterScope(@NotNull final GlobalSearchScope delegate) { super(delegate, "groovy.sourceFilter"); myIndex = ProjectRootManager.getInstance(getProject()).getFileIndex(); } public boolean contains(final VirtualFile file) { return super.contains(file) && myIndex.isInSourceContent(file) && PsFileType.PS_FILE_TYPE == file.getFileType(); } }