allow InputBoxOptions#validateInput to return a thenable, #34532

This commit is contained in:
Johannes Rieken
2017-10-03 09:18:28 +02:00
parent d7ac6d6560
commit 1f975f05c9
2 changed files with 4 additions and 4 deletions

View File

@@ -5,7 +5,7 @@
'use strict';
import { TPromise } from 'vs/base/common/winjs.base';
import { wireCancellationToken } from 'vs/base/common/async';
import { wireCancellationToken, asWinJsPromise } from 'vs/base/common/async';
import { CancellationToken } from 'vs/base/common/cancellation';
import { QuickPickOptions, QuickPickItem, InputBoxOptions, WorkspaceFolderPickOptions, WorkspaceFolder } from 'vscode';
import { MainContext, MainThreadQuickOpenShape, ExtHostQuickOpenShape, MyQuickPickItems, IMainContext } from './extHost.protocol';
@@ -21,7 +21,7 @@ export class ExtHostQuickOpen implements ExtHostQuickOpenShape {
private _commands: ExtHostCommands;
private _onDidSelectItem: (handle: number) => void;
private _validateInput: (input: string) => string;
private _validateInput: (input: string) => string | Thenable<string>;
constructor(mainContext: IMainContext, workspace: ExtHostWorkspace, commands: ExtHostCommands) {
this._proxy = mainContext.get(MainContext.MainThreadQuickOpen);
@@ -120,7 +120,7 @@ export class ExtHostQuickOpen implements ExtHostQuickOpenShape {
$validateInput(input: string): TPromise<string> {
if (this._validateInput) {
return TPromise.as(this._validateInput(input));
return asWinJsPromise(_ => this._validateInput(input));
}
return undefined;
}