From 38e68de39b009e82215e9f4d023185ca2f270aa0 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Wed, 13 Jan 2016 15:51:26 +0100 Subject: [PATCH] wip --- src/vs/workbench/api/node/extHostQuickOpen.ts | 20 ++++++++++++++++++- .../parts/quickopen/quickOpenController.ts | 4 ++++ .../quickopen/common/quickOpenService.ts | 6 ++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/api/node/extHostQuickOpen.ts b/src/vs/workbench/api/node/extHostQuickOpen.ts index 53186057e38..2b59c7aa68a 100644 --- a/src/vs/workbench/api/node/extHostQuickOpen.ts +++ b/src/vs/workbench/api/node/extHostQuickOpen.ts @@ -161,6 +161,24 @@ export class MainThreadQuickOpen { } $input(options?: InputBoxOptions): Thenable { - return this._quickOpenService.input(options); + + let defaultItem = 'Insert text and press Enter or Escape'; + let userValue: string; + + return new TPromise((resolve, reject) => { + + this._quickOpenService.pick([defaultItem], { + placeHolder: options.placeHolder, + autoFocus: true, + onDidType(value) { + userValue = value; + // console.log('TEXT') + } + }).then(item => { + resolve(item && userValue); + }, reject); + }); + + // return this._quickOpenService.input(options); } } diff --git a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts index 4f473db36fb..b4546fc42a9 100644 --- a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts +++ b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts @@ -320,6 +320,10 @@ export class QuickOpenController extends WorkbenchComponent implements IQuickOpe onType: (value: string) => { userTypedValue = value; + if (options.onDidType) { + options.onDidType(value); + } + if (picks.length === 0) { return; } diff --git a/src/vs/workbench/services/quickopen/common/quickOpenService.ts b/src/vs/workbench/services/quickopen/common/quickOpenService.ts index 43eda75aede..327c151492b 100644 --- a/src/vs/workbench/services/quickopen/common/quickOpenService.ts +++ b/src/vs/workbench/services/quickopen/common/quickOpenService.ts @@ -38,6 +38,12 @@ export interface IPickOptions { * an optional flag to include the detail when filtering the picks */ matchOnDetail?: boolean; + + /** + * + */ + onDidType?: (value: string) => any; + } export interface IInputOptions {