IDEA-255672 Search Everywhere: file names in results should be the same with editor tab header

GitOrigin-RevId: 53a20062654863097685f2f0e243f1375017d61d
This commit is contained in:
Mikhail Sokolov
2020-11-18 18:32:28 +00:00
committed by intellij-monorepo-bot
parent ac12fbe5f9
commit e93976f8fc
3 changed files with 12 additions and 15 deletions
@@ -4,6 +4,7 @@ package com.intellij.ide.actions;
import com.intellij.ide.util.PlatformModuleRendererFactory;
import com.intellij.ide.util.PsiElementListCellRenderer;
import com.intellij.ide.util.gotoByName.GotoFileCellRenderer;
import com.intellij.navigation.NavigationItem;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Iconable;
import com.intellij.openapi.util.SystemInfo;
@@ -58,6 +59,14 @@ public class SearchEverywherePsiRenderer extends PsiElementListCellRenderer<PsiE
if (file != null) {
return VfsPresentationUtil.getPresentableNameForUI(element.getProject(), file);
}
if (element instanceof NavigationItem) {
String name = Optional.ofNullable(((NavigationItem)element).getPresentation())
.map(presentation -> presentation.getPresentableText())
.orElse(null);
if (name != null) return name;
}
String name = element instanceof PsiNamedElement ? ((PsiNamedElement)element).getName() : null;
return StringUtil.notNullize(name, "<unnamed>");
}
@@ -454,8 +454,7 @@ public abstract class AbstractGotoSEContributor implements WeightedSearchEverywh
@NotNull
@Override
public ListCellRenderer<Object> getElementsRenderer() {
//noinspection unchecked
return new SERenderer();
return new SearchEverywherePsiRenderer();
}
@Override
@@ -511,18 +510,6 @@ public abstract class AbstractGotoSEContributor implements WeightedSearchEverywh
return (modifiers & InputEvent.SHIFT_MASK) == 0;
}
protected static class SERenderer extends SearchEverywherePsiRenderer {
@Override
public String getElementText(PsiElement element) {
if (element instanceof NavigationItem) {
return Optional.ofNullable(((NavigationItem)element).getPresentation())
.map(presentation -> presentation.getPresentableText())
.orElseGet(() -> super.getElementText(element));
}
return super.getElementText(element);
}
}
abstract static class ScopeChooserAction extends ActionGroup
implements CustomComponentAction, DumbAware, SearchEverywhereToggleAction {
@@ -2,6 +2,7 @@
package com.intellij.ide.actions.searcheverywhere;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.actions.SearchEverywherePsiRenderer;
import com.intellij.ide.util.gotoByName.FileTypeRef;
import com.intellij.ide.util.gotoByName.FilteringGotoByModel;
import com.intellij.ide.util.gotoByName.GotoFileConfiguration;
@@ -85,7 +86,7 @@ public class FileSearchEverywhereContributor extends AbstractGotoSEContributor {
@NotNull
@Override
public ListCellRenderer<Object> getElementsRenderer() {
return new SERenderer() {
return new SearchEverywherePsiRenderer() {
@NotNull
@Override
protected ItemMatchers getItemMatchers(@NotNull JList list, @NotNull Object value) {