diff --git a/src/vs/workbench/api/browser/mainThreadProgress.ts b/src/vs/workbench/api/browser/mainThreadProgress.ts index f038168e205..f64fd22a202 100644 --- a/src/vs/workbench/api/browser/mainThreadProgress.ts +++ b/src/vs/workbench/api/browser/mainThreadProgress.ts @@ -40,7 +40,7 @@ export class MainThreadProgress implements MainThreadProgressShape { this._progress.clear(); } - $startProgress(handle: number, options: IProgressOptions, extension?: IExtensionDescription): void { + async $startProgress(handle: number, options: IProgressOptions, extension?: IExtensionDescription): Promise { const task = this._createTask(handle); if (options.location === ProgressLocation.Notification && extension && !extension.isUnderDevelopment) { diff --git a/src/vs/workbench/api/common/extHost.protocol.ts b/src/vs/workbench/api/common/extHost.protocol.ts index 95be5a6d27a..5ca2c6ab247 100644 --- a/src/vs/workbench/api/common/extHost.protocol.ts +++ b/src/vs/workbench/api/common/extHost.protocol.ts @@ -453,7 +453,7 @@ export interface MainThreadOutputServiceShape extends IDisposable { export interface MainThreadProgressShape extends IDisposable { - $startProgress(handle: number, options: IProgressOptions, extension?: IExtensionDescription): void; + $startProgress(handle: number, options: IProgressOptions, extension?: IExtensionDescription): Promise; $progressReport(handle: number, message: IProgressStep): void; $progressEnd(handle: number): void; } diff --git a/src/vs/workbench/api/common/extHostProgress.ts b/src/vs/workbench/api/common/extHostProgress.ts index 100cbd8a906..f25fb54faa6 100644 --- a/src/vs/workbench/api/common/extHostProgress.ts +++ b/src/vs/workbench/api/common/extHostProgress.ts @@ -22,12 +22,12 @@ export class ExtHostProgress implements ExtHostProgressShape { this._proxy = proxy; } - withProgress(extension: IExtensionDescription, options: ProgressOptions, task: (progress: Progress, token: CancellationToken) => Thenable): Thenable { + async withProgress(extension: IExtensionDescription, options: ProgressOptions, task: (progress: Progress, token: CancellationToken) => Thenable): Promise { const handle = this._handles++; const { title, location, cancellable } = options; const source = { label: localize('extensionSource', "{0} (Extension)", extension.displayName || extension.name), id: extension.identifier.value }; - this._proxy.$startProgress(handle, { location: ProgressLocation.from(location), title, source, cancellable }, extension); + await this._proxy.$startProgress(handle, { location: ProgressLocation.from(location), title, source, cancellable }, extension); return this._withProgress(handle, task, !!cancellable); }