Path: blob/main/src/vs/workbench/contrib/notebook/common/notebookExecutionService.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { IDisposable } from '../../../../base/common/lifecycle.js';6import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';7import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';8import { NotebookCellTextModel } from './model/notebookCellTextModel.js';9import { INotebookTextModel, IOutputDto, IOutputItemDto } from './notebookCommon.js';10import { INotebookCellExecution } from './notebookExecutionStateService.js';1112export enum CellExecutionUpdateType {13Output = 1,14OutputItems = 2,15ExecutionState = 3,16}1718export interface ICellExecuteOutputEdit {19editType: CellExecutionUpdateType.Output;20cellHandle: number;21append?: boolean;22outputs: IOutputDto[];23}2425export interface ICellExecuteOutputItemEdit {26editType: CellExecutionUpdateType.OutputItems;27append?: boolean;28outputId: string;29items: IOutputItemDto[];30}3132export const INotebookExecutionService = createDecorator<INotebookExecutionService>('INotebookExecutionService');3334export interface INotebookExecutionService {35_serviceBrand: undefined;3637executeNotebookCells(notebook: INotebookTextModel, cells: Iterable<NotebookCellTextModel>, contextKeyService: IContextKeyService): Promise<void>;38cancelNotebookCells(notebook: INotebookTextModel, cells: Iterable<NotebookCellTextModel>): Promise<void>;39cancelNotebookCellHandles(notebook: INotebookTextModel, cells: Iterable<number>): Promise<void>;40registerExecutionParticipant(participant: ICellExecutionParticipant): IDisposable;41}4243export interface ICellExecutionParticipant {44onWillExecuteCell(executions: INotebookCellExecution[]): Promise<void>;45}464748