From b7e41df9aeb40b84e43a905827b402db3a885c03 Mon Sep 17 00:00:00 2001 From: Shaverdova Elena Date: Wed, 30 Jan 2013 15:20:55 +0400 Subject: [PATCH] WI-14660 PHAR: Find in Path and Replace in Path don't work: implementation doesn't work for root level --- .../com/intellij/find/impl/FindInProjectUtil.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindInProjectUtil.java b/platform/lang-impl/src/com/intellij/find/impl/FindInProjectUtil.java index dd502ef691d9..081a815b2cb5 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindInProjectUtil.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindInProjectUtil.java @@ -137,10 +137,17 @@ public class FindInProjectUtil { String path = directoryName.replace(File.separatorChar, '/'); VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByPath(path); if (virtualFile == null || !virtualFile.isDirectory()) { + virtualFile = null; for (LocalFileProvider provider : ((VirtualFileManagerEx)VirtualFileManager.getInstance()).getLocalFileProviders()) { - virtualFile = provider.findLocalVirtualFileByPath(path); - if (virtualFile != null && virtualFile.isDirectory()) { - break; + VirtualFile file = provider.findLocalVirtualFileByPath(path); + if (file != null && file.isDirectory()) { + if (file.getChildren().length > 0) { + virtualFile = file; + break; + } + if(virtualFile == null){ + virtualFile = file; + } } } }