diff --git a/src/vs/workbench/parts/quickopen/browser/viewPickerHandler.ts b/src/vs/workbench/parts/quickopen/browser/viewPickerHandler.ts index e5655f2c6e6..811b31ca517 100644 --- a/src/vs/workbench/parts/quickopen/browser/viewPickerHandler.ts +++ b/src/vs/workbench/parts/quickopen/browser/viewPickerHandler.ts @@ -7,7 +7,6 @@ import { TPromise } from 'vs/base/common/winjs.base'; import nls = require('vs/nls'); import errors = require('vs/base/common/errors'); -import strings = require('vs/base/common/strings'); import { Mode, IEntryRunContext, IAutoFocus, IQuickNavigateConfiguration, IModel } from 'vs/base/parts/quickopen/common/quickOpen'; import { QuickOpenModel, QuickOpenEntryGroup, QuickOpenEntry } from 'vs/base/parts/quickopen/browser/quickOpenModel'; import { QuickOpenHandler, QuickOpenAction } from 'vs/workbench/browser/quickopen'; @@ -18,6 +17,8 @@ import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; import { IQuickOpenService } from 'vs/platform/quickOpen/common/quickOpen'; import { Action } from 'vs/base/common/actions'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; +import { fuzzyContains, stripWildcards } from 'vs/base/common/strings'; +import { matchesFuzzy } from 'vs/base/common/filters'; export const VIEW_PICKER_PREFIX = 'view '; @@ -73,7 +74,7 @@ export class ViewPickerHandler extends QuickOpenHandler { public getResults(searchValue: string): TPromise { searchValue = searchValue.trim(); - const normalizedSearchValueLowercase = strings.stripWildcards(searchValue).toLowerCase(); + const normalizedSearchValueLowercase = stripWildcards(searchValue).toLowerCase(); const viewEntries = this.getViewEntries(); @@ -82,12 +83,14 @@ export class ViewPickerHandler extends QuickOpenHandler { return true; } - if (!strings.fuzzyContains(normalizedSearchValueLowercase, e.getLabel()) && !strings.fuzzyContains(normalizedSearchValueLowercase, e.getCategory())) { - return false; + const highlights = matchesFuzzy(normalizedSearchValueLowercase, e.getLabel(), true); + if (highlights) { + e.setHighlights(highlights); } - const { labelHighlights, descriptionHighlights } = QuickOpenEntry.highlight(e, searchValue); - e.setHighlights(labelHighlights, descriptionHighlights); + if (!highlights && !fuzzyContains(e.getCategory(), normalizedSearchValueLowercase)) { + return false; + } return true; }); diff --git a/src/vs/workbench/parts/terminal/browser/terminalQuickOpen.ts b/src/vs/workbench/parts/terminal/browser/terminalQuickOpen.ts index c8eee0240e6..9a08c86185b 100644 --- a/src/vs/workbench/parts/terminal/browser/terminalQuickOpen.ts +++ b/src/vs/workbench/parts/terminal/browser/terminalQuickOpen.ts @@ -5,7 +5,6 @@ 'use strict'; import nls = require('vs/nls'); -import strings = require('vs/base/common/strings'); import { TPromise } from 'vs/base/common/winjs.base'; import { Mode, IEntryRunContext, IAutoFocus, IQuickNavigateConfiguration, IModel } from 'vs/base/parts/quickopen/common/quickOpen'; import { QuickOpenModel, QuickOpenEntry } from 'vs/base/parts/quickopen/browser/quickOpenModel'; @@ -13,6 +12,8 @@ import { QuickOpenHandler } from 'vs/workbench/browser/quickopen'; import { ITerminalService } from 'vs/workbench/parts/terminal/common/terminal'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; import { ContributableActionProvider } from 'vs/workbench/browser/actions'; +import { stripWildcards } from 'vs/base/common/strings'; +import { matchesFuzzy } from 'vs/base/common/filters'; export class TerminalEntry extends QuickOpenEntry { @@ -86,7 +87,7 @@ export class TerminalPickerHandler extends QuickOpenHandler { public getResults(searchValue: string): TPromise { searchValue = searchValue.trim(); - const normalizedSearchValueLowercase = strings.stripWildcards(searchValue).toLowerCase(); + const normalizedSearchValueLowercase = stripWildcards(searchValue).toLowerCase(); const terminalEntries: QuickOpenEntry[] = this.getTerminals(); terminalEntries.push(new CreateTerminal(nls.localize("'workbench.action.terminal.newplus", "$(plus) Create New Integrated Terminal"), this.terminalService)); @@ -96,12 +97,12 @@ export class TerminalPickerHandler extends QuickOpenHandler { return true; } - if (!strings.fuzzyContains(normalizedSearchValueLowercase, e.getLabel())) { + const highlights = matchesFuzzy(normalizedSearchValueLowercase, e.getLabel(), true); + if (!highlights) { return false; } - const { labelHighlights, descriptionHighlights } = QuickOpenEntry.highlight(e, searchValue); - e.setHighlights(labelHighlights, descriptionHighlights); + e.setHighlights(highlights); return true; });