From 11544263c4fc8f33d12edce659a65f71c900e082 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Thu, 2 Jun 2016 09:04:36 +0200 Subject: [PATCH] add support for title object in previewHtml, #2351 --- src/vs/workbench/api/node/extHostApiCommands.ts | 10 ++++++---- .../workbench/parts/html/browser/html.contribution.ts | 6 ++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/api/node/extHostApiCommands.ts b/src/vs/workbench/api/node/extHostApiCommands.ts index 79944234de4..003b93218fe 100644 --- a/src/vs/workbench/api/node/extHostApiCommands.ts +++ b/src/vs/workbench/api/node/extHostApiCommands.ts @@ -151,10 +151,11 @@ class ExtHostApiCommands { }); - this._register('vscode.previewHtml', (uri: URI, position?: vscode.ViewColumn) => { - return this._commands.executeCommand('_workbench.previewHtml', uri, - typeof position === 'number' ? typeConverters.fromViewColumn(position) : void 0); - + this._register('vscode.previewHtml', (uri: URI, position?: vscode.ViewColumn, title?: { label?: string, description?: string }) => { + return this._commands.executeCommand('_workbench.previewHtml', + uri, + typeof position === 'number' && typeConverters.fromViewColumn(position), + title); }, { description: ` Render the html of the resource in an editor view. @@ -172,6 +173,7 @@ class ExtHostApiCommands { args: [ { name: 'uri', description: 'Uri of the resource to preview.', constraint: value => value instanceof URI || typeof value === 'string' }, { name: 'column', description: '(optional) Column in which to preview.' }, + { name: 'title', description: '(optional) An object literal defining the label and description, e.g. `{ label: "My Label" description: "My Description" }`' } ] }); diff --git a/src/vs/workbench/parts/html/browser/html.contribution.ts b/src/vs/workbench/parts/html/browser/html.contribution.ts index bbda89d845f..89f738ae4bc 100644 --- a/src/vs/workbench/parts/html/browser/html.contribution.ts +++ b/src/vs/workbench/parts/html/browser/html.contribution.ts @@ -28,9 +28,11 @@ import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors'; KeybindingsRegistry.registerCommandDesc({ id: '_workbench.previewHtml', weight: KeybindingsRegistry.WEIGHT.workbenchContrib(0), - handler(accessor: ServicesAccessor, resource: URI|string, position:EditorPosition) { + handler(accessor: ServicesAccessor, resource: URI | string, position?: EditorPosition, title: { label?: string; description?: string } = {}) { + let uri = resource instanceof URI ? resource : URI.parse(resource); - let input = accessor.get(IInstantiationService).createInstance(HtmlInput, uri.fsPath, undefined, uri); + let {label, description} = title; + let input = accessor.get(IInstantiationService).createInstance(HtmlInput, label || uri.fsPath, description, uri); return accessor.get(IWorkbenchEditorService) .openEditor(input, { pinned: true }, position)