From d13f20e019044747729ab0370893e666090299cb Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 14 Dec 2018 15:55:36 +0100 Subject: [PATCH] filter - use matchesFuzzy2 for quick outline and workspace symbols --- src/vs/base/common/filters.ts | 8 ++++++-- .../parts/quickopen/browser/gotoSymbolHandler.ts | 2 +- .../workbench/parts/search/browser/openSymbolHandler.ts | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/vs/base/common/filters.ts b/src/vs/base/common/filters.ts index 9f85a2e34d0..6592e10209d 100644 --- a/src/vs/base/common/filters.ts +++ b/src/vs/base/common/filters.ts @@ -343,8 +343,12 @@ export function matchesFuzzy(word: string, wordToMatchAgainst: string, enableSep return enableSeparateSubstringMatching ? fuzzySeparateFilter(word, wordToMatchAgainst) : fuzzyContiguousFilter(word, wordToMatchAgainst); } -export function matchesFuzzy2(word: string, wordToMatchAgainst: string): IMatch[] | null { - let score = fuzzyScore(word, word.toLowerCase(), 0, wordToMatchAgainst, wordToMatchAgainst.toLowerCase(), 0, false); +/** + * Match pattern againt word in a fuzzy way. As in IntelliSense and faster and more + * powerfull than `matchesFuzzy` + */ +export function matchesFuzzy2(pattern: string, word: string): IMatch[] | null { + let score = fuzzyScore(pattern, pattern.toLowerCase(), 0, word, word.toLowerCase(), 0, false); return score ? createMatches(score) : null; } diff --git a/src/vs/workbench/parts/quickopen/browser/gotoSymbolHandler.ts b/src/vs/workbench/parts/quickopen/browser/gotoSymbolHandler.ts index 32102b7988f..5ef1f1673d1 100644 --- a/src/vs/workbench/parts/quickopen/browser/gotoSymbolHandler.ts +++ b/src/vs/workbench/parts/quickopen/browser/gotoSymbolHandler.ts @@ -89,7 +89,7 @@ class OutlineModel extends QuickOpenModel { // Filter by search if (normalizedSearchValue) { - const highlights = filters.matchesFuzzy(normalizedSearchValue, entry.getLabel()); + const highlights = filters.matchesFuzzy2(normalizedSearchValue, entry.getLabel()); if (highlights) { entry.setHighlights(highlights); entry.setHidden(false); diff --git a/src/vs/workbench/parts/search/browser/openSymbolHandler.ts b/src/vs/workbench/parts/search/browser/openSymbolHandler.ts index 0dc2fba92fe..d9261996f53 100644 --- a/src/vs/workbench/parts/search/browser/openSymbolHandler.ts +++ b/src/vs/workbench/parts/search/browser/openSymbolHandler.ts @@ -206,7 +206,7 @@ export class OpenSymbolHandler extends QuickOpenHandler { } const entry = this.instantiationService.createInstance(SymbolEntry, element, provider); - entry.setHighlights(filters.matchesFuzzy(searchValue, entry.getLabel())); + entry.setHighlights(filters.matchesFuzzy2(searchValue, entry.getLabel())); bucket.push(entry); } } -- GitLab