From de249a04dffcb9b495b9263415c80a82cbfd18ba Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Wed, 25 Oct 2017 17:25:58 -0700 Subject: [PATCH] Add experimentalFuzzySearchBoost so we can test changes to the 'boost' parameter in the search query --- src/vs/workbench/electron-browser/main.contribution.ts | 5 +++++ .../parts/preferences/browser/preferencesSearch.ts | 7 +++++-- src/vs/workbench/parts/preferences/common/preferences.ts | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/electron-browser/main.contribution.ts b/src/vs/workbench/electron-browser/main.contribution.ts index 3f29706e8d8..fd40c95e056 100644 --- a/src/vs/workbench/electron-browser/main.contribution.ts +++ b/src/vs/workbench/electron-browser/main.contribution.ts @@ -216,6 +216,11 @@ let workbenchProperties: { [path: string]: IJSONSchema; } = { 'description': nls.localize('experimentalFuzzySearchKey', "Indicates the key to use for the experimental settings search."), 'default': '' }, + 'workbench.settings.experimentalFuzzySearchBoost': { + 'type': 'number', + 'description': 'Indicates the amount to boost the "literal" component of the query. Temporary.', + 'default': 10 + }, 'workbench.sideBar.location': { 'type': 'string', 'enum': ['left', 'right'], diff --git a/src/vs/workbench/parts/preferences/browser/preferencesSearch.ts b/src/vs/workbench/parts/preferences/browser/preferencesSearch.ts index 10be6e89bdd..52be0c1f328 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesSearch.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesSearch.ts @@ -18,6 +18,7 @@ import { IWorkspaceConfigurationService } from 'vs/workbench/services/configurat export interface IEndpointDetails { urlBase: string; key: string; + boost: number; } export class PreferencesSearchProvider { @@ -37,7 +38,8 @@ export class PreferencesSearchProvider { const workbenchSettings = this.configurationService.getConfiguration().workbench.settings; return { urlBase: workbenchSettings.experimentalFuzzySearchEndpoint, - key: workbenchSettings.experimentalFuzzySearchKey + key: workbenchSettings.experimentalFuzzySearchKey, + boost: workbenchSettings.experimentalFuzzySearchBoost }; } @@ -196,7 +198,8 @@ function escapeSpecialChars(query: string): string { function prepareUrl(query: string, endpoint: IEndpointDetails): string { query = escapeSpecialChars(query); - const userQuery = query; + const boost = endpoint.boost || 1; + const userQuery = `(${query})^${boost}`; // Appending Fuzzy after each word. query = query.replace(/\ +/g, '~ ') + '~'; diff --git a/src/vs/workbench/parts/preferences/common/preferences.ts b/src/vs/workbench/parts/preferences/common/preferences.ts index 05c4ff4ffe1..035a15c877b 100644 --- a/src/vs/workbench/parts/preferences/common/preferences.ts +++ b/src/vs/workbench/parts/preferences/common/preferences.ts @@ -22,6 +22,7 @@ export interface IWorkbenchSettingsConfiguration { openDefaultSettings: boolean; experimentalFuzzySearchEndpoint: string; experimentalFuzzySearchKey: string; + experimentalFuzzySearchBoost: number; } }; } -- GitLab