@Nullable private VirtualFile findSingleFile(@NotNull String fileName) { if (PathUtil.isValidFileName(fileName)) { Collection<VirtualFile> files = FilenameIndex.getVirtualFilesByName(myProject, fileName, GlobalSearchScope.allScope(myProject)); if (files.size() == 1) { return ContainerUtil.getFirstItem(files); } } return null; }
@Nullable private VirtualFile findSingleFile(@NotNull String fileName) { if (PathUtil.isValidFileName(fileName)) { Collection<VirtualFile> files = FilenameIndex.getVirtualFilesByName(myProject, fileName, GlobalSearchScope.allScope(myProject)); if (files.size() == 1) { return ContainerUtil.getFirstItem(files); } if (!files.isEmpty()) { GlobalSearchScope goPathScope = GoPathResolveScope.create(myProject, myModule, null); files = ContainerUtil.filter(files, goPathScope::accept); if (files.size() == 1) { return ContainerUtil.getFirstItem(files); } } if (!files.isEmpty()) { GlobalSearchScope smallerScope = GoUtil.moduleScopeWithoutLibraries(myProject, myModule); files = ContainerUtil.filter(files, smallerScope::accept); if (files.size() == 1) { return ContainerUtil.getFirstItem(files); } } } return null; }
final String name = fileOrDir.getName(); if (MatcherUtil.matchAnyPart(parts, name)) { for (VirtualFile file : FilenameIndex.getVirtualFilesByName(project, name, scope)) { if (file.isValid() && MatcherUtil.matchAllParts(parts, file.getPath())) { files.add(file);
protected static GlobalSearchScope createFileScope(@NotNull Project project, String fileName) { Collection<VirtualFile> files = FilenameIndex.getVirtualFilesByName(project, fileName, GlobalSearchScope.allScope(project)); if (!files.isEmpty()) { return GlobalSearchScope.filesScope(project, files); } return GlobalSearchScope.EMPTY_SCOPE; } }
private static boolean findInProject(@NotNull Project project, boolean forceDir, List<File> result, String... urls) { List<String> roots = ContainerUtil.newArrayList(); for (String url : urls) { String fileName = url.substring(url.lastIndexOf("/") + 1); for (VirtualFile file : FilenameIndex.getVirtualFilesByName(project, fileName, ProjectScope.getAllScope(project))) { String fileUrl = file.getUrl(); if (forceDir) { int idx = url.indexOf("/master/"); if (idx <= -1) continue; if (!StringUtil.endsWithIgnoreCase(fileUrl, url.substring(idx + "/master/".length()))) continue; } roots.add(fileUrl); } } return collectFiles(result, roots, urls); }
@Nullable @Override public XmlFile loadAppEngineStandardWebXml( @NotNull Project project, @NotNull Collection<Module> modules) { List<VirtualFile> appEngineWebXmls = new ArrayList<>(); for (Module module : modules) { appEngineWebXmls.addAll( FilenameIndex.getVirtualFilesByName( project, "appengine-web.xml", module.getModuleContentScope())); } VirtualFile appEngineWebXml = findHighestPriorityAppEngineWebXml(appEngineWebXmls); if (appEngineWebXml != null) { PsiFile psiFile = PsiManager.getInstance(project).findFile(appEngineWebXml); if (psiFile instanceof XmlFile) { return (XmlFile) psiFile; } else { logger.error( String.format( "appengine-web.xml PSI File %s with name %s is not an XmlFile. " + "It was chosen from the following appengine-web.xml's that were found: %s", psiFile, psiFile != null ? psiFile.getName() : null, appEngineWebXmls)); } } return null; }
if (targetFile != null) { List<VirtualFile> files = new ArrayList<>(FilenameIndex.getVirtualFilesByName(project, targetFile, ProjectScope.getProjectScope(project))); Collections.sort(files, (f1, f2) -> { boolean b1 = fileIndex.isInSource(f1);
final String flexFileName = getFlexFileName(bnfFile); Collection<VirtualFile> files = FilenameIndex.getVirtualFilesByName(project, flexFileName, ProjectScope.getAllScope(project)); VirtualFile firstItem = ContainerUtil.getFirstItem(files);