diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index 0ca0b95ca9c..16edcbb52f0 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -1420,7 +1420,6 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I NotebookCellStatusBarItem: extHostTypes.NotebookCellStatusBarItem, NotebookControllerAffinity: extHostTypes.NotebookControllerAffinity, NotebookControllerAffinity2: extHostTypes.NotebookControllerAffinity2, - NotebookDocumentSaveReason: extHostTypes.NotebookDocumentSaveReason, NotebookEdit: extHostTypes.NotebookEdit, NotebookKernelSourceAction: extHostTypes.NotebookKernelSourceAction, PortAttributes: extHostTypes.PortAttributes, diff --git a/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.ts b/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.ts index 5954eaf965f..e9547b63069 100644 --- a/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.ts +++ b/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.ts @@ -10,7 +10,7 @@ import { IExtensionDescription } from 'vs/platform/extensions/common/extensions' import { ILogService } from 'vs/platform/log/common/log'; import { ExtHostNotebookDocumentSaveParticipantShape, IWorkspaceEditDto, MainThreadBulkEditsShape } from 'vs/workbench/api/common/extHost.protocol'; import { ExtHostNotebookController } from 'vs/workbench/api/common/extHostNotebook'; -import { NotebookDocumentSaveReason, WorkspaceEdit as WorksapceEditConverter } from 'vs/workbench/api/common/extHostTypeConverters'; +import { TextDocumentSaveReason, WorkspaceEdit as WorksapceEditConverter } from 'vs/workbench/api/common/extHostTypeConverters'; import { WorkspaceEdit } from 'vs/workbench/api/common/extHostTypes'; import { SaveReason } from 'vs/workbench/common/editor'; import { NotebookDocumentWillSaveEvent } from 'vscode'; @@ -53,7 +53,7 @@ export class ExtHostNotebookDocumentSaveParticipant implements ExtHostNotebookDo const edits: WorkspaceEdit[] = []; - await this._onWillSaveNotebookDocumentEvent.fireAsync({ document: document.apiNotebook, reason: NotebookDocumentSaveReason.to(reason) }, token, async (thenable: Promise, listener) => { + await this._onWillSaveNotebookDocumentEvent.fireAsync({ document: document.apiNotebook, reason: TextDocumentSaveReason.to(reason) }, token, async (thenable: Promise, listener) => { const now = Date.now(); const data = await await Promise.resolve(thenable); if (Date.now() - now > this._thresholds.timeout) { @@ -64,15 +64,12 @@ export class ExtHostNotebookDocumentSaveParticipant implements ExtHostNotebookDo return; } - if (data && Array.isArray(data)) { - // data can be an array of WorkspaceEdit - for (const edit of data) { - if (edit instanceof WorkspaceEdit) { - edits.push(edit); - } else { - // ignore invalid data - this._logService.warn('onWillSaveNotebookDocument-listener from extension', (>listener).extension.identifier, 'ignored due to invalid data'); - } + if (data) { + if (data instanceof WorkspaceEdit) { + edits.push(data); + } else { + // ignore invalid data + this._logService.warn('onWillSaveNotebookDocument-listener from extension', (>listener).extension.identifier, 'ignored due to invalid data'); } } diff --git a/src/vs/workbench/api/common/extHostTypeConverters.ts b/src/vs/workbench/api/common/extHostTypeConverters.ts index 547ee25cfd7..2949ac9df0e 100644 --- a/src/vs/workbench/api/common/extHostTypeConverters.ts +++ b/src/vs/workbench/api/common/extHostTypeConverters.ts @@ -1528,21 +1528,6 @@ export namespace LanguageSelector { } } -export namespace NotebookDocumentSaveReason { - - export function to(reason: SaveReason): vscode.NotebookDocumentSaveReason { - switch (reason) { - case SaveReason.AUTO: - return types.NotebookDocumentSaveReason.AfterDelay; - case SaveReason.EXPLICIT: - return types.NotebookDocumentSaveReason.Manual; - case SaveReason.FOCUS_CHANGE: - case SaveReason.WINDOW_CHANGE: - return types.NotebookDocumentSaveReason.FocusOut; - } - } -} - export namespace NotebookRange { export function from(range: vscode.NotebookRange): ICellRange { diff --git a/src/vs/workbench/api/common/extHostTypes.ts b/src/vs/workbench/api/common/extHostTypes.ts index b815f0039e2..cce2d5e1144 100644 --- a/src/vs/workbench/api/common/extHostTypes.ts +++ b/src/vs/workbench/api/common/extHostTypes.ts @@ -623,12 +623,6 @@ export class TextEdit { } } -export enum NotebookDocumentSaveReason { - Manual = 1, - AfterDelay = 2, - FocusOut = 3 -} - @es5ClassCompat export class NotebookEdit implements vscode.NotebookEdit { diff --git a/src/vscode-dts/vscode.proposed.notebookDocumentWillSave.d.ts b/src/vscode-dts/vscode.proposed.notebookDocumentWillSave.d.ts index 3baff662f3c..e751bbcf669 100644 --- a/src/vscode-dts/vscode.proposed.notebookDocumentWillSave.d.ts +++ b/src/vscode-dts/vscode.proposed.notebookDocumentWillSave.d.ts @@ -4,28 +4,6 @@ *--------------------------------------------------------------------------------------------*/ declare module 'vscode' { - /** - * Represents reasons why a notebook document is saved. - */ - export enum NotebookDocumentSaveReason { - - /** - * Manually triggered, e.g. by the user pressing save, by starting debugging, - * or by an API call. - */ - Manual = 1, - - /** - * Automatic after a delay. - */ - AfterDelay = 2, - - /** - * When the editor lost focus. - */ - FocusOut = 3 - } - /** * An event that is fired when a {@link NotebookDocument document} will be saved. * @@ -47,9 +25,9 @@ declare module 'vscode' { /** * The reason why save was triggered. */ - readonly reason: NotebookDocumentSaveReason; + readonly reason: TextDocumentSaveReason; - waitUntil(thenable: Thenable): void; + waitUntil(thenable: Thenable): void; waitUntil(thenable: Thenable): void; }