From ff32cc9b3bbc7da8c0bb7cbd07397a97abff54ee Mon Sep 17 00:00:00 2001 From: andreamah Date: Fri, 4 Oct 2024 17:15:27 -0700 Subject: [PATCH 1/2] add copilot icon beside copilot results node --- .../workbench/contrib/search/browser/media/searchview.css | 7 +++++++ .../workbench/contrib/search/browser/searchResultsView.ts | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/search/browser/media/searchview.css b/src/vs/workbench/contrib/search/browser/media/searchview.css index 011619809e487..ab9aaa647c3c2 100644 --- a/src/vs/workbench/contrib/search/browser/media/searchview.css +++ b/src/vs/workbench/contrib/search/browser/media/searchview.css @@ -204,6 +204,13 @@ font-weight: 500; } +.search-view .textsearchresult .monaco-icon-label .codicon { + position: relative; + font-size: 12px; + top: 1px; + padding-right: 3px; +} + .pane-body:not(.wide) .search-view .foldermatch .monaco-icon-label, .pane-body:not(.wide) .search-view .filematch .monaco-icon-label { flex: 1; diff --git a/src/vs/workbench/contrib/search/browser/searchResultsView.ts b/src/vs/workbench/contrib/search/browser/searchResultsView.ts index fe60b11eb1485..aa6a6a0f539a2 100644 --- a/src/vs/workbench/contrib/search/browser/searchResultsView.ts +++ b/src/vs/workbench/contrib/search/browser/searchResultsView.ts @@ -32,6 +32,7 @@ import { defaultCountBadgeStyles } from '../../../../platform/theme/browser/defa import { SearchContext } from '../common/constants.js'; import { getDefaultHoverDelegate } from '../../../../base/browser/ui/hover/hoverDelegateFactory.js'; import { IHoverService } from '../../../../platform/hover/browser/hover.js'; +import { Codicon } from '../../../../base/common/codicons.js'; interface IFolderMatchTemplate { label: IResourceLabel; @@ -110,7 +111,7 @@ export class TextSearchResultRenderer extends Disposable implements ICompressibl renderTemplate(container: HTMLElement): ITextSearchResultTemplate { const disposables = new DisposableStore(); const textSearchResultElement = DOM.append(container, DOM.$('.textsearchresult')); - const label = this.labels.create(textSearchResultElement, { supportDescriptionHighlights: true, supportHighlights: true }); + const label = this.labels.create(textSearchResultElement, { supportDescriptionHighlights: true, supportHighlights: true, supportIcons: true }); disposables.add(label); return { label, disposables }; } @@ -118,10 +119,11 @@ export class TextSearchResultRenderer extends Disposable implements ICompressibl async renderElement(node: ITreeNode, index: number, templateData: IFolderMatchTemplate, height: number | undefined): Promise { if (node.element.id() === AI_TEXT_SEARCH_RESULT_ID) { const aiName = await node.element.parent().searchModel.getAITextResultProviderName(); - templateData.label.setLabel(nls.localize({ + const localizedLabel = nls.localize({ key: 'searchFolderMatch.aiText.label', comment: ['This is displayed before the AI text search results, where {0} will be in the place of the AI name (ie: Copilot)'] - }, '{0} Results', aiName)); + }, '{0} Results', aiName); + templateData.label.setLabel(`$(${Codicon.copilot.id}) ${localizedLabel}`); } else { templateData.label.setLabel(nls.localize('searchFolderMatch.plainText.label', "Text Results")); } From f45066fe7213c3f8967938299332fc0ce3cc3c61 Mon Sep 17 00:00:00 2001 From: andreamah Date: Fri, 4 Oct 2024 17:17:56 -0700 Subject: [PATCH 2/2] add todo --- src/vs/workbench/contrib/search/browser/searchResultsView.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/vs/workbench/contrib/search/browser/searchResultsView.ts b/src/vs/workbench/contrib/search/browser/searchResultsView.ts index aa6a6a0f539a2..2759c4d8dd6ee 100644 --- a/src/vs/workbench/contrib/search/browser/searchResultsView.ts +++ b/src/vs/workbench/contrib/search/browser/searchResultsView.ts @@ -123,6 +123,8 @@ export class TextSearchResultRenderer extends Disposable implements ICompressibl key: 'searchFolderMatch.aiText.label', comment: ['This is displayed before the AI text search results, where {0} will be in the place of the AI name (ie: Copilot)'] }, '{0} Results', aiName); + + // todo: make icon extension-contributed. templateData.label.setLabel(`$(${Codicon.copilot.id}) ${localizedLabel}`); } else { templateData.label.setLabel(nls.localize('searchFolderMatch.plainText.label', "Text Results"));