VirtualFile directory = VirtualFileManager.getInstance().findFileByUrl(directoryUrl); if (directory != null) { return GlobalSearchScopesCore.directoryScope(project, directory, true);
private Set<VirtualFile> getAllXSFiles(@NotNull Project project) { List<VirtualFile> classesRoots = PerlProjectManager.getInstance(project).getAllLibraryRoots(); if (classesRoots.isEmpty()) { return Collections.emptySet(); } GlobalSearchScope classRootsScope = GlobalSearchScopesCore.directoriesScope(myProject, true, classesRoots.toArray(new VirtualFile[classesRoots.size()])); Set<VirtualFile> result = new THashSet<>(); for (VirtualFile virtualFile : FilenameIndex.getAllFilesByExt(project, getXSBinaryExtension(), classRootsScope)) { if (virtualFile.isValid() && !virtualFile.isDirectory() && !(virtualFile instanceof LightVirtualFile)) { String path = virtualFile.getCanonicalPath(); if (path != null && StringUtil.contains(path, "/auto/")) { result.add(virtualFile); } } } return result; }
@SuppressWarnings("UnusedReturnValue") public static boolean processIncFilesForPsiElement(@NotNull PsiElement element, @NotNull ClassRootVirtualFileProcessor processor, @NotNull FileType fileType) { for (VirtualFile classRoot : getIncDirsForPsiElement(element)) { if (!FileTypeIndex.processFiles(fileType, virtualFile -> { ProgressManager.checkCanceled(); return processor.process(virtualFile, classRoot); }, GlobalSearchScopesCore.directoryScope(element.getProject(), classRoot, true)) ) { return false; } } return true; }