From da52058ffd6b706ed94a6778a01d7cb2be4ba7f9 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Tue, 9 Jan 2024 21:57:53 +0100 Subject: [PATCH] Introduces _workbench.openMultiDiffEditor --- .../browser/parts/editor/editorCommands.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/vs/workbench/browser/parts/editor/editorCommands.ts b/src/vs/workbench/browser/parts/editor/editorCommands.ts index 9ef96ab29ad53..4a924f46cc528 100644 --- a/src/vs/workbench/browser/parts/editor/editorCommands.ts +++ b/src/vs/workbench/browser/parts/editor/editorCommands.ts @@ -739,6 +739,21 @@ function registerOpenEditorAPICommands(): void { await editorService.openEditor({ resources: editor, label: title }); }); + + CommandsRegistry.registerCommand('_workbench.openMultiDiffEditor', async (accessor: ServicesAccessor, options: OpenMultiFileDiffEditorOptions) => { + const editorService = accessor.get(IEditorService); + await editorService.openEditor({ + multiDiffSource: options.multiDiffSourceUri ? URI.revive(options.multiDiffSourceUri) : undefined, + resources: options.resources?.map(r => ({ original: { resource: URI.revive(r.originalUri) }, modified: { resource: URI.revive(r.modifiedUri) } })), + label: options.title, + }); + }); +} + +interface OpenMultiFileDiffEditorOptions { + title: string; + multiDiffSourceUri?: UriComponents; + resources?: { originalUri: UriComponents; modifiedUri: UriComponents }[]; } function registerOpenEditorAtIndexCommands(): void {