mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-02 14:31:31 +01:00
remove kernel provider from core, adopt kernel service, merge kernel2 and kernel interface, extract context keys from kernel manager, make context key manager only for execution/cancellation
This commit is contained in:
@@ -11,16 +11,16 @@ import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions';
|
||||
import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers';
|
||||
import { INotebookEditor } from 'vs/workbench/contrib/notebook/browser/notebookBrowser';
|
||||
import { INotebookEditorService } from 'vs/workbench/contrib/notebook/browser/notebookEditorService';
|
||||
import { ICellRange } from 'vs/workbench/contrib/notebook/common/notebookCommon';
|
||||
import { INotebookKernel2, INotebookKernel2ChangeEvent, INotebookKernelService } from 'vs/workbench/contrib/notebook/common/notebookKernelService';
|
||||
import { ICellRange, INotebookKernel, INotebookKernelChangeEvent } from 'vs/workbench/contrib/notebook/common/notebookCommon';
|
||||
import { INotebookKernelService } from 'vs/workbench/contrib/notebook/common/notebookKernelService';
|
||||
import { NotebookSelector } from 'vs/workbench/contrib/notebook/common/notebookSelector';
|
||||
import { ExtHostContext, ExtHostNotebookKernelsShape, IExtHostContext, INotebookKernelDto2, MainContext, MainThreadNotebookKernelsShape } from '../common/extHost.protocol';
|
||||
|
||||
abstract class MainThreadKernel implements INotebookKernel2 {
|
||||
abstract class MainThreadKernel implements INotebookKernel {
|
||||
|
||||
private readonly _onDidChange = new Emitter<INotebookKernel2ChangeEvent>();
|
||||
private readonly _onDidChange = new Emitter<INotebookKernelChangeEvent>();
|
||||
private readonly preloads: { uri: URI, provides: string[] }[];
|
||||
readonly onDidChange: Event<INotebookKernel2ChangeEvent> = this._onDidChange.event;
|
||||
readonly onDidChange: Event<INotebookKernelChangeEvent> = this._onDidChange.event;
|
||||
|
||||
readonly id: string;
|
||||
readonly selector: NotebookSelector;
|
||||
@@ -61,7 +61,8 @@ abstract class MainThreadKernel implements INotebookKernel2 {
|
||||
|
||||
|
||||
update(data: Partial<INotebookKernelDto2>) {
|
||||
const event: INotebookKernel2ChangeEvent = Object.create(null);
|
||||
|
||||
const event: INotebookKernelChangeEvent = Object.create(null);
|
||||
if (data.label !== undefined) {
|
||||
this.label = data.label;
|
||||
event.label = true;
|
||||
@@ -91,11 +92,6 @@ abstract class MainThreadKernel implements INotebookKernel2 {
|
||||
|
||||
abstract executeNotebookCellsRequest(uri: URI, ranges: ICellRange[]): Promise<void>;
|
||||
abstract cancelNotebookCellExecution(uri: URI, ranges: ICellRange[]): Promise<void>;
|
||||
|
||||
// old stuff
|
||||
readonly resolve = () => Promise.resolve();
|
||||
get friendlyId() { return this.id; }
|
||||
get providerHandle() { return undefined; }
|
||||
}
|
||||
|
||||
@extHostNamedCustomer(MainContext.MainThreadNotebookKernels)
|
||||
@@ -200,9 +196,9 @@ export class MainThreadNotebookKernels implements MainThreadNotebookKernelsShape
|
||||
const registration = this._notebookKernelService.registerKernel(kernel);
|
||||
|
||||
const listener = this._notebookKernelService.onDidChangeNotebookKernelBinding(e => {
|
||||
if (e.oldKernel === kernel) {
|
||||
if (e.oldKernel === kernel.id) {
|
||||
this._proxy.$acceptSelection(handle, e.notebook, false);
|
||||
} else if (e.newKernel === kernel) {
|
||||
} else if (e.newKernel === kernel.id) {
|
||||
this._proxy.$acceptSelection(handle, e.notebook, true);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user