mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-134148 Navigate to... File (ctlr-shift-n) show project files in .idea directory
This commit is contained in:
@@ -119,6 +119,13 @@ class Intf {
|
||||
assert elements == [m, mod]
|
||||
}
|
||||
|
||||
public void "test consider dot-idea files out of project"() {
|
||||
def outside = myFixture.addFileToProject(".idea/workspace.xml", "")
|
||||
def inside = myFixture.addFileToProject("workspace.txt", "")
|
||||
assert getPopupElements(new GotoFileModel(project), "work", false) == [inside]
|
||||
assert getPopupElements(new GotoFileModel(project), "work", true) == [inside, outside]
|
||||
}
|
||||
|
||||
public void "test prefer better path matches"() {
|
||||
def fooIndex = myFixture.addFileToProject("foo/index.html", "foo")
|
||||
def fooBarIndex = myFixture.addFileToProject("foo/bar/index.html", "foo bar")
|
||||
|
||||
+16
-3
@@ -16,16 +16,18 @@
|
||||
package com.intellij.ide.util.gotoByName;
|
||||
|
||||
import com.intellij.navigation.ChooseByNameContributorEx;
|
||||
import com.intellij.util.CommonProcessors;
|
||||
import com.intellij.util.indexing.FindSymbolParameters;
|
||||
import com.intellij.navigation.NavigationItem;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectUtil;
|
||||
import com.intellij.psi.PsiFileSystemItem;
|
||||
import com.intellij.psi.search.FilenameIndex;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.CommonProcessors;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.indexing.FileBasedIndex;
|
||||
import com.intellij.util.indexing.FindSymbolParameters;
|
||||
import com.intellij.util.indexing.IdFilter;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -79,8 +81,19 @@ public class DefaultFileNavigationContributor implements ChooseByNameContributor
|
||||
|
||||
@Override
|
||||
public void processElementsWithName(@NotNull String name,
|
||||
@NotNull Processor<NavigationItem> processor,
|
||||
@NotNull final Processor<NavigationItem> _processor,
|
||||
@NotNull FindSymbolParameters parameters) {
|
||||
final boolean globalSearch = parameters.getSearchScope().isSearchInLibraries();
|
||||
final Processor<PsiFileSystemItem> processor = new Processor<PsiFileSystemItem>() {
|
||||
@Override
|
||||
public boolean process(PsiFileSystemItem item) {
|
||||
if (!globalSearch && ProjectUtil.isProjectOrWorkspaceFile(item.getVirtualFile())) {
|
||||
return true;
|
||||
}
|
||||
return _processor.process(item);
|
||||
}
|
||||
};
|
||||
|
||||
String completePattern = parameters.getCompletePattern();
|
||||
final boolean includeDirs = completePattern.endsWith("/") || completePattern.endsWith("\\") ||
|
||||
completePattern.startsWith("/") || completePattern.startsWith("\\");
|
||||
|
||||
Reference in New Issue
Block a user