de-ref interactive input on interactive nb close.

This commit is contained in:
rebornix
2021-06-27 13:53:07 -07:00
parent 9cb3f15e9e
commit bfac07cd0e
5 changed files with 30 additions and 4 deletions

View File

@@ -21,7 +21,11 @@ export class MainThreadInteractive implements MainThreadInteractiveShape {
this._proxy = extHostContext.getProxy(ExtHostContext.ExtHostInteractive);
this._disposables.add(interactiveDocumentService.onWillAddInteractiveDocument((e) => {
this._proxy.$acceptInputDocument(e.inputUri, '\n', 'plaintext', e.notebookUri);
this._proxy.$willAddInteractiveDocument(e.inputUri, '\n', 'plaintext', e.notebookUri);
}));
this._disposables.add(interactiveDocumentService.onWillAddInteractiveDocument((e) => {
this._proxy.$willRemoveInteractiveDocument(e.inputUri, e.notebookUri);
}));
}

View File

@@ -2038,7 +2038,8 @@ export interface ExtHostNotebookKernelsShape {
}
export interface ExtHostInteractiveShape {
$acceptInputDocument(uri: UriComponents, eol: string, modeId: string, notebookUri: UriComponents): void;
$willAddInteractiveDocument(uri: UriComponents, eol: string, modeId: string, notebookUri: UriComponents): void;
$willRemoveInteractiveDocument(uri: UriComponents, notebookUri: UriComponents): void;
}
export interface ExtHostStorageShape {

View File

@@ -16,7 +16,7 @@ export class ExtHostInteractive implements ExtHostInteractiveShape {
) {
}
$acceptInputDocument(uri: UriComponents, eol: string, modeId: string, notebookUri: UriComponents) {
$willAddInteractiveDocument(uri: UriComponents, eol: string, modeId: string, notebookUri: UriComponents) {
this._textDocumentsAndEditors.acceptDocumentsAndEditorsDelta({
addedDocuments: [{
EOL: eol,
@@ -29,4 +29,10 @@ export class ExtHostInteractive implements ExtHostInteractiveShape {
}]
});
}
$willRemoveInteractiveDocument(uri: UriComponents, notebookUri: UriComponents) {
this._textDocumentsAndEditors.acceptDocumentsAndEditorsDelta({
removedDocuments: [uri]
});
}
}