Skip to content

Commit 057c1f1

Browse files
committed
Fix cell cancellation with kernel in provider
1 parent 94317e3 commit 057c1f1

File tree

5 files changed

+17
-1
lines changed

5 files changed

+17
-1
lines changed

src/vs/workbench/api/browser/mainThreadNotebook.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,10 @@ export class MainThreadNotebooks extends Disposable implements MainThreadNoteboo
547547
},
548548
executeNotebook: (uri: URI, kernelId: string, cellHandle: number | undefined) => {
549549
return that._proxy.$executeNotebookKernelFromProvider(handle, uri, kernelId, cellHandle);
550-
}
550+
},
551+
cancelNotebook: (uri: URI, kernelId: string, cellHandle: number | undefined) => {
552+
return that._proxy.$cancelNotebookKernelFromProvider(handle, uri, kernelId, cellHandle);
553+
},
551554
});
552555
this._notebookKernelProviders.set(handle, {
553556
extension,

src/vs/workbench/api/common/extHost.protocol.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,6 +1622,7 @@ export interface ExtHostNotebookShape {
16221622
$executeNotebookByAttachedKernel(viewType: string, uri: UriComponents, cellHandle: number | undefined): Promise<void>;
16231623
$cancelNotebookByAttachedKernel(viewType: string, uri: UriComponents, cellHandle: number | undefined): Promise<void>;
16241624
$executeNotebookKernelFromProvider(handle: number, uri: UriComponents, kernelId: string, cellHandle: number | undefined): Promise<void>;
1625+
$cancelNotebookKernelFromProvider(handle: number, uri: UriComponents, kernelId: string, cellHandle: number | undefined): Promise<void>;
16251626
$executeNotebook2(kernelId: string, viewType: string, uri: UriComponents, cellHandle: number | undefined): Promise<void>;
16261627
$saveNotebook(viewType: string, uri: UriComponents, token: CancellationToken): Promise<boolean>;
16271628
$saveNotebookAs(viewType: string, uri: UriComponents, target: UriComponents, token: CancellationToken): Promise<boolean>;

src/vs/workbench/api/common/extHostNotebook.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,6 +1294,14 @@ export class ExtHostNotebookController implements ExtHostNotebookShape, ExtHostN
12941294
});
12951295
}
12961296

1297+
async $cancelNotebookKernelFromProvider(handle: number, uri: UriComponents, kernelId: string, cellHandle: number | undefined): Promise<void> {
1298+
await this._withAdapter(handle, uri, async (adapter, document) => {
1299+
let cell = cellHandle !== undefined ? document.getCell(cellHandle) : undefined;
1300+
1301+
return adapter.cancelNotebook(kernelId, document, cell);
1302+
});
1303+
}
1304+
12971305
async $executeNotebook2(kernelId: string, viewType: string, uri: UriComponents, cellHandle: number | undefined): Promise<void> {
12981306
let document = this._documents.get(URI.revive(uri).toString());
12991307

src/vs/workbench/contrib/notebook/browser/notebookServiceImpl.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,9 @@ export class NotebookService extends Disposable implements INotebookService, ICu
404404
},
405405
executeNotebookCell: async (uri: URI, handle: number | undefined) => {
406406
return provider.executeNotebook(uri, dto.id, handle);
407+
},
408+
cancelNotebookCell: (uri: URI, handle: number | undefined): Promise<void> => {
409+
return provider.cancelNotebook(uri, dto.id, handle);
407410
}
408411
};
409412
});

src/vs/workbench/contrib/notebook/common/notebookCommon.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,4 +672,5 @@ export interface INotebookKernelProvider {
672672
provideKernels(uri: URI, token: CancellationToken): Promise<INotebookKernelInfoDto2[]>;
673673
resolveKernel(editorId: string, uri: UriComponents, kernelId: string, token: CancellationToken): Promise<void>;
674674
executeNotebook(uri: URI, kernelId: string, handle: number | undefined): Promise<void>;
675+
cancelNotebook(uri: URI, kernelId: string, handle: number | undefined): Promise<void>;
675676
}

0 commit comments

Comments
 (0)