From e24a82b3ef7af1e58f3d8795b3cefda8dd678b22 Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Thu, 6 Oct 2016 18:56:36 +0200 Subject: [PATCH] ExtensionWorkbenchService.open return promise --- .../parts/extensions/electron-browser/extensions.ts | 2 +- .../parts/extensions/electron-browser/extensionsViewlet.ts | 6 +++++- .../electron-browser/extensionsWorkbenchService.ts | 7 +++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensions.ts b/src/vs/workbench/parts/extensions/electron-browser/extensions.ts index 1abe44f0318..b1c28084987 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensions.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensions.ts @@ -70,7 +70,7 @@ export interface IExtensionsWorkbenchService { install(extension: IExtension, promptToInstallDependencies?: boolean): TPromise; uninstall(extension: IExtension): TPromise; loadDependencies(extension: IExtension): TPromise; - open(extension: IExtension, sideByside?: boolean): void; + open(extension: IExtension, sideByside?: boolean): TPromise; } export const ConfigurationKey = 'extensions'; diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts index 8aa56caa2ed..5bbff76ef67 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts @@ -116,7 +116,7 @@ export class ExtensionsViewlet extends Viewlet implements IExtensionsViewlet { chain(this.list.onSelectionChange) .map(e => e.elements[0]) .filter(e => !!e) - .on(this.extensionsWorkbenchService.open, this, this.disposables); + .on(this.openExtension, this, this.disposables); return TPromise.as(null); } @@ -296,6 +296,10 @@ export class ExtensionsViewlet extends Viewlet implements IExtensionsViewlet { .then(result => new PagedModel(result)); } + private openExtension(extension: IExtension): void { + this.extensionsWorkbenchService.open(extension).done(null, err => this.onError(err)); + } + private onEnter(): void { this.list.setSelection(...this.list.getFocus()); } diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts index 72e19184034..a2ef221cb77 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts @@ -368,9 +368,8 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { }); } - open(extension: IExtension, sideByside: boolean = false): void { - this.editorService.openEditor(this.instantiationService.createInstance(ExtensionsInput, extension), null, sideByside) - .done(null, err => this.onError(err)); + open(extension: IExtension, sideByside: boolean = false): TPromise { + return this.editorService.openEditor(this.instantiationService.createInstance(ExtensionsInput, extension), null, sideByside); } private fromGallery(gallery: IGalleryExtension): Extension { @@ -625,7 +624,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { } const extension = result.firstPage[0]; - this.open(extension); + this.open(extension).done(null, error => this.onError(error)); }); } -- GitLab