From e092295dc678a8a7fe3a040239c3b9ade04b4d89 Mon Sep 17 00:00:00 2001 From: rebornix Date: Tue, 5 May 2020 11:29:28 -0700 Subject: [PATCH] onDidCloseNotebookDocument --- src/vs/vscode.proposed.d.ts | 1 + src/vs/workbench/api/common/extHost.api.impl.ts | 4 ++++ src/vs/workbench/api/common/extHostNotebook.ts | 3 +++ 3 files changed, 8 insertions(+) diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 1aeee093e26..4ba8c4269ae 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -1817,6 +1817,7 @@ declare module 'vscode' { ): Disposable; export const onDidOpenNotebookDocument: Event; + export const onDidCloseNotebookDocument: Event; // export const onDidChangeVisibleNotebookEditors: Event; // remove activeNotebookDocument, now that there is activeNotebookEditor.document diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index db72957372c..ca1efcab306 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -906,6 +906,10 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I checkProposedApiEnabled(extension); return extHostNotebook.onDidOpenNotebookDocument; }, + get onDidCloseNotebookDocument(): Event { + checkProposedApiEnabled(extension); + return extHostNotebook.onDidCloseNotebookDocument; + }, registerNotebookProvider: (viewType: string, provider: vscode.NotebookProvider) => { checkProposedApiEnabled(extension); return extHostNotebook.registerNotebookProvider(extension, viewType, provider); diff --git a/src/vs/workbench/api/common/extHostNotebook.ts b/src/vs/workbench/api/common/extHostNotebook.ts index 1df7a12584b..1b1d7db1f80 100644 --- a/src/vs/workbench/api/common/extHostNotebook.ts +++ b/src/vs/workbench/api/common/extHostNotebook.ts @@ -654,6 +654,8 @@ export class ExtHostNotebookController implements ExtHostNotebookShape, ExtHostN private _onDidOpenNotebookDocument = new Emitter(); onDidOpenNotebookDocument: Event = this._onDidOpenNotebookDocument.event; + private _onDidCloseNotebookDocument = new Emitter(); + onDidCloseNotebookDocument: Event = this._onDidCloseNotebookDocument.event; constructor(mainContext: IMainContext, commands: ExtHostCommands, private _documentsAndEditors: ExtHostDocumentsAndEditors) { this._proxy = mainContext.getProxy(MainContext.MainThreadNotebook); @@ -898,6 +900,7 @@ export class ExtHostNotebookController implements ExtHostNotebookShape, ExtHostN if (document) { document.dispose(); this._documents.delete(URI.revive(uri).toString()); + this._onDidCloseNotebookDocument.fire(document); } let editor = this._editors.get(URI.revive(uri).toString());