diff --git a/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy b/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy index 40e002e5badb..b311dc954b20 100644 --- a/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy +++ b/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy @@ -15,6 +15,7 @@ */ package com.intellij.navigation +import com.intellij.ide.actions.GotoFileItemProvider import com.intellij.ide.util.gotoByName.* import com.intellij.lang.java.JavaLanguage import com.intellij.openapi.Disposable @@ -166,6 +167,13 @@ class Intf { } + public void "test accept file paths starting with a dot"() { + def file = myFixture.addFileToProject("foo/index.html", "foo") + def model = new GotoFileModel(project) + def popup = ChooseByNamePopup.createPopup(project, model, new GotoFileItemProvider(project, null, model)) + assert calcPopupElements(popup, "./foo/in") == [file] + } + public void "test goto file can go to dir"() { PsiFile fooIndex = myFixture.addFileToProject("foo/index.html", "foo") PsiFile barIndex = myFixture.addFileToProject("bar.txt/bar.txt", "foo") diff --git a/platform/lang-impl/src/com/intellij/ide/actions/GotoFileItemProvider.java b/platform/lang-impl/src/com/intellij/ide/actions/GotoFileItemProvider.java index d663258df682..7fbb676c2f45 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/GotoFileItemProvider.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/GotoFileItemProvider.java @@ -67,6 +67,10 @@ public class GotoFileItemProvider extends DefaultChooseByNameItemProvider { } } + if (pattern.startsWith("./") || pattern.startsWith(".\\")) { + pattern = pattern.substring(1); + } + return super.filterElements(base, pattern, everywhere, indicator, consumer); } }