提交 057c1f14 编写于 作者: R Rob Lourens

Fix cell cancellation with kernel in provider

上级 94317e38
......@@ -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>;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册