diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/NavigationUtil.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/NavigationUtil.java index 941246d16fa8..ab6b5cb31da8 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/NavigationUtil.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/NavigationUtil.java @@ -82,7 +82,7 @@ public final class NavigationUtil { if (title != null) { builder.setTitle(title); } - renderer.installSpeedSearch(builder); + renderer.installSpeedSearch(builder, true); return builder.setItemChoosenCallback(runnable).createPopup(); } diff --git a/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java b/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java index 3749ae6e3f96..2f1fa958d7f1 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java +++ b/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java @@ -155,7 +155,12 @@ public abstract class PsiElementListCellRenderer extends J @Nullable protected DefaultListCellRenderer getRightCellRenderer() { if (UISettings.getInstance().SHOW_ICONS_IN_QUICK_NAVIGATION) { - return ModuleRendererFactory.getInstance().getModuleRenderer(); + final DefaultListCellRenderer renderer = ModuleRendererFactory.getInstance().getModuleRenderer(); + if (renderer instanceof PlatformModuleRendererFactory.PlatformModuleRenderer) { + // it won't display any new information + return null; + } + return renderer; } return null; } @@ -187,10 +192,18 @@ public abstract class PsiElementListCellRenderer extends J } public void installSpeedSearch(PopupChooserBuilder builder) { + installSpeedSearch(builder, false); + } + + public void installSpeedSearch(PopupChooserBuilder builder, final boolean includeContainerText) { builder.setFilteringEnabled(new Function() { public String fun(Object o) { if (o instanceof PsiElement) { - return PsiElementListCellRenderer.this.getElementText((T)o); + final String elementText = PsiElementListCellRenderer.this.getElementText((T)o); + if (includeContainerText) { + return elementText + " " + getContainerText((T) o, elementText); + } + return elementText; } else { return o.toString(); @@ -207,7 +220,8 @@ public abstract class PsiElementListCellRenderer extends J new ListSpeedSearch(list) { protected String getElementText(Object o) { if (o instanceof PsiElement) { - return PsiElementListCellRenderer.this.getElementText((T)o); + final String elementText = PsiElementListCellRenderer.this.getElementText((T)o); + return elementText + " " + getContainerText((T) o, elementText); } else { return o.toString();