Fix cell cancellation with kernel in provider
This commit is contained in:
parent
94317e3877
commit
057c1f141e
5 changed files with 17 additions and 1 deletions
|
@ -547,7 +547,10 @@ export class MainThreadNotebooks extends Disposable implements MainThreadNoteboo
|
|||
},
|
||||
executeNotebook: (uri: URI, kernelId: string, cellHandle: number | undefined) => {
|
||||
return that._proxy.$executeNotebookKernelFromProvider(handle, uri, kernelId, cellHandle);
|
||||
}
|
||||
},
|
||||
cancelNotebook: (uri: URI, kernelId: string, cellHandle: number | undefined) => {
|
||||
return that._proxy.$cancelNotebookKernelFromProvider(handle, uri, kernelId, cellHandle);
|
||||
},
|
||||
});
|
||||
this._notebookKernelProviders.set(handle, {
|
||||
extension,
|
||||
|
|
|
@ -1622,6 +1622,7 @@ export interface ExtHostNotebookShape {
|
|||
$executeNotebookByAttachedKernel(viewType: string, uri: UriComponents, cellHandle: number | undefined): Promise<void>;
|
||||
$cancelNotebookByAttachedKernel(viewType: string, uri: UriComponents, cellHandle: number | undefined): Promise<void>;
|
||||
$executeNotebookKernelFromProvider(handle: number, uri: UriComponents, kernelId: string, cellHandle: number | undefined): Promise<void>;
|
||||
$cancelNotebookKernelFromProvider(handle: number, uri: UriComponents, kernelId: string, cellHandle: number | undefined): Promise<void>;
|
||||
$executeNotebook2(kernelId: string, viewType: string, uri: UriComponents, cellHandle: number | undefined): Promise<void>;
|
||||
$saveNotebook(viewType: string, uri: UriComponents, token: CancellationToken): Promise<boolean>;
|
||||
$saveNotebookAs(viewType: string, uri: UriComponents, target: UriComponents, token: CancellationToken): Promise<boolean>;
|
||||
|
|
|
@ -1294,6 +1294,14 @@ export class ExtHostNotebookController implements ExtHostNotebookShape, ExtHostN
|
|||
});
|
||||
}
|
||||
|
||||
async $cancelNotebookKernelFromProvider(handle: number, uri: UriComponents, kernelId: string, cellHandle: number | undefined): Promise<void> {
|
||||
await this._withAdapter(handle, uri, async (adapter, document) => {
|
||||
let cell = cellHandle !== undefined ? document.getCell(cellHandle) : undefined;
|
||||
|
||||
return adapter.cancelNotebook(kernelId, document, cell);
|
||||
});
|
||||
}
|
||||
|
||||
async $executeNotebook2(kernelId: string, viewType: string, uri: UriComponents, cellHandle: number | undefined): Promise<void> {
|
||||
let document = this._documents.get(URI.revive(uri).toString());
|
||||
|
||||
|
|
|
@ -404,6 +404,9 @@ export class NotebookService extends Disposable implements INotebookService, ICu
|
|||
},
|
||||
executeNotebookCell: async (uri: URI, handle: number | undefined) => {
|
||||
return provider.executeNotebook(uri, dto.id, handle);
|
||||
},
|
||||
cancelNotebookCell: (uri: URI, handle: number | undefined): Promise<void> => {
|
||||
return provider.cancelNotebook(uri, dto.id, handle);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
|
|
@ -672,4 +672,5 @@ export interface INotebookKernelProvider {
|
|||
provideKernels(uri: URI, token: CancellationToken): Promise<INotebookKernelInfoDto2[]>;
|
||||
resolveKernel(editorId: string, uri: UriComponents, kernelId: string, token: CancellationToken): Promise<void>;
|
||||
executeNotebook(uri: URI, kernelId: string, handle: number | undefined): Promise<void>;
|
||||
cancelNotebook(uri: URI, kernelId: string, handle: number | undefined): Promise<void>;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue