Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/vs/workbench/contrib/notebook/common')
-rw-r--r--src/vs/workbench/contrib/notebook/common/notebookKernelService.ts35
1 files changed, 34 insertions, 1 deletions
diff --git a/src/vs/workbench/contrib/notebook/common/notebookKernelService.ts b/src/vs/workbench/contrib/notebook/common/notebookKernelService.ts
index 6610fe7177d..4f5304600b0 100644
--- a/src/vs/workbench/contrib/notebook/common/notebookKernelService.ts
+++ b/src/vs/workbench/contrib/notebook/common/notebookKernelService.ts
@@ -31,8 +31,13 @@ export interface INotebookKernelChangeEvent {
hasExecutionOrder?: true;
}
-export interface INotebookKernel {
+export const enum NotebookKernelType {
+ Resolved,
+ Proxy = 1
+}
+export interface IResolvedNotebookKernel {
+ readonly type: NotebookKernelType.Resolved;
readonly id: string;
readonly viewType: string;
readonly onDidChange: Event<Readonly<INotebookKernelChangeEvent>>;
@@ -54,6 +59,34 @@ export interface INotebookKernel {
cancelNotebookCellExecution(uri: URI, cellHandles: number[]): Promise<void>;
}
+export const enum ProxyKernelState {
+ Disconnected = 1,
+ Connected = 2,
+ Initializing = 3
+}
+
+export interface INotebookProxyKernelChangeEvent extends INotebookKernelChangeEvent {
+ connectionState?: true;
+}
+
+export interface INotebookProxyKernel {
+ readonly type: NotebookKernelType.Proxy;
+ readonly id: string;
+ readonly viewType: string;
+ readonly extension: ExtensionIdentifier;
+ readonly preloadProvides: string[];
+ readonly onDidChange: Event<Readonly<INotebookProxyKernelChangeEvent>>;
+ label: string;
+ description?: string;
+ detail?: string;
+ kind?: string;
+ supportedLanguages: string[];
+ connectionState: ProxyKernelState;
+ resolveKernel(uri: URI): Promise<string | null>;
+}
+
+export type INotebookKernel = IResolvedNotebookKernel | INotebookProxyKernel;
+
export interface INotebookTextModelLike { uri: URI; viewType: string }
export const INotebookKernelService = createDecorator<INotebookKernelService>('INotebookKernelService');