import * as DOM from "../../../../base/browser/dom.js"; import { CancellationToken } from "../../../../base/common/cancellation.js"; import { Event } from "../../../../base/common/event.js"; import { Disposable } from "../../../../base/common/lifecycle.js"; import { URI } from "../../../../base/common/uri.js"; import { ICodeEditor } from "../../../../editor/browser/editorBrowser.js"; import { Range } from "../../../../editor/common/core/range.js"; import { Selection } from "../../../../editor/common/core/selection.js"; import { IConfigurationService } from "../../../../platform/configuration/common/configuration.service.js"; import { IContextKeyService } from "../../../../platform/contextkey/common/contextkey.service.js"; import { IContextMenuService } from "../../../../platform/contextview/browser/contextView.service.js"; import { IInstantiationService } from "../../../../platform/instantiation/common/instantiation.js"; import { ILayoutService } from "../../../../platform/layout/browser/layoutService.service.js"; import { IEditorProgressService } from "../../../../platform/progress/common/progress.service.js"; import { ITelemetryService } from "../../../../platform/telemetry/common/telemetry.service.js"; import { CellFindMatchWithIndex, CellLayoutContext, IActiveNotebookEditorDelegate, IBaseCellEditorOptions, ICellOutputViewModel, ICellViewModel, ICommonCellInfo, IFocusNotebookCellOptions, IInsetRenderOutput, IModelDecorationsChangeAccessor, INotebookCellOverlayChangeAccessor, INotebookDeltaDecoration, INotebookEditor, INotebookEditorContribution, INotebookEditorCreationOptions, INotebookEditorDelegate, INotebookEditorMouseEvent, INotebookEditorOptions, INotebookEditorViewState, INotebookViewCellsUpdateEvent, INotebookViewZoneChangeAccessor, INotebookWebviewMessage } from "./notebookBrowser.js"; import { INotebookEditorService } from "./services/notebookEditorService.service.js"; import { NotebookCellStateChangedEvent, NotebookLayoutInfo } from "./notebookViewEvents.js"; import { CodeCellViewModel } from "./viewModel/codeCellViewModel.js"; import { MarkupCellViewModel } from "./viewModel/markupCellViewModel.js"; import { NotebookViewModel } from "./viewModel/notebookViewModelImpl.js"; import { NotebookTextModel } from "@codingame/monaco-vscode-notebook-service-override/vscode/vs/workbench/contrib/notebook/common/model/notebookTextModel"; import { CellKind, INotebookFindOptions } from "../common/notebookCommon.js"; import { INotebookExecutionService } from "../common/notebookExecutionService.service.js"; import { INotebookKernelService } from "../common/notebookKernelService.service.js"; import { NotebookOptions } from "./notebookOptions.js"; import { ICellRange } from "../common/notebookRange.js"; import { INotebookRendererMessagingService } from "../common/notebookRendererMessagingService.service.js"; import { INotebookService } from "../common/notebookService.service.js"; import { IWebviewElement } from "../../webview/browser/webview.js"; import { IEditorGroupsService } from "../../../services/editor/common/editorGroupsService.service.js"; import { NotebookPerfMarks } from "../common/notebookPerformance.js"; import { INotebookLoggingService } from "../common/notebookLoggingService.service.js"; export declare function getDefaultNotebookCreationOptions(): INotebookEditorCreationOptions; export declare class NotebookEditorWidget extends Disposable implements INotebookEditorDelegate, INotebookEditor { readonly creationOptions: INotebookEditorCreationOptions; private readonly notebookRendererMessaging; private readonly notebookEditorService; private readonly notebookKernelService; private readonly _notebookService; private readonly configurationService; private readonly layoutService; private readonly contextMenuService; private readonly telemetryService; private readonly notebookExecutionService; private editorProgressService; private readonly logService; private readonly _onDidChangeCellState; readonly onDidChangeCellState: Event; private readonly _onDidChangeViewCells; readonly onDidChangeViewCells: Event; private readonly _onWillChangeModel; readonly onWillChangeModel: Event; private readonly _onDidChangeModel; readonly onDidChangeModel: Event; private readonly _onDidAttachViewModel; readonly onDidAttachViewModel: Event; private readonly _onDidChangeOptions; readonly onDidChangeOptions: Event; private readonly _onDidChangeDecorations; readonly onDidChangeDecorations: Event; private readonly _onDidScroll; readonly onDidScroll: Event; private readonly _onDidChangeLayout; readonly onDidChangeLayout: Event; private readonly _onDidChangeActiveCell; readonly onDidChangeActiveCell: Event; private readonly _onDidChangeFocus; readonly onDidChangeFocus: Event; private readonly _onDidChangeSelection; readonly onDidChangeSelection: Event; private readonly _onDidChangeVisibleRanges; readonly onDidChangeVisibleRanges: Event; private readonly _onDidFocusEmitter; readonly onDidFocusWidget: Event; private readonly _onDidBlurEmitter; readonly onDidBlurWidget: Event; private readonly _onDidChangeActiveEditor; readonly onDidChangeActiveEditor: Event; private readonly _onDidChangeActiveKernel; readonly onDidChangeActiveKernel: Event; private readonly _onMouseUp; readonly onMouseUp: Event; private readonly _onMouseDown; readonly onMouseDown: Event; private readonly _onDidReceiveMessage; readonly onDidReceiveMessage: Event; private readonly _onDidRenderOutput; private readonly onDidRenderOutput; private readonly _onDidRemoveOutput; private readonly onDidRemoveOutput; private readonly _onDidResizeOutputEmitter; readonly onDidResizeOutput: Event; private _overlayContainer; private _notebookTopToolbarContainer; private _notebookTopToolbar; private _notebookStickyScrollContainer; private _notebookStickyScroll; private _notebookOverviewRulerContainer; private _notebookOverviewRuler; private _body; private _styleElement; private _overflowContainer; private _webview; private _webviewResolvePromise; private _webviewTransparentCover; private _listDelegate; private _list; private _listViewInfoAccessor; private _dndController; private _listTopCellToolbar; private _renderedEditors; private _editorPool; private _viewContext; private _notebookViewModel; private readonly _localStore; private _localCellStateListeners; private _fontInfo; private _dimension?; private _position?; private _shadowElement?; private _shadowElementViewInfo; private _cellLayoutManager; private readonly _editorFocus; private readonly _outputFocus; private readonly _editorEditable; private readonly _cursorNavMode; private readonly _outputInputFocus; protected readonly _contributions: Map; private _scrollBeyondLastLine; private readonly _insetModifyQueueByOutputId; private _cellContextKeyManager; private readonly _uuid; private _focusTracker; private _webviewFocused; private _isVisible; get isVisible(): boolean; private _isDisposed; get isDisposed(): boolean; set viewModel(newModel: NotebookViewModel | undefined); get viewModel(): NotebookViewModel | undefined; get textModel(): NotebookTextModel | undefined; get isReadOnly(): boolean; get activeCodeEditor(): ICodeEditor | undefined; get activeCellAndCodeEditor(): [ ICellViewModel, ICodeEditor ] | undefined; get codeEditors(): [ ICellViewModel, ICodeEditor ][]; get visibleRanges(): ICellRange[]; private _baseCellEditorOptions; readonly isReplHistory: boolean; private _readOnly; readonly scopedContextKeyService: IContextKeyService; private readonly instantiationService; private readonly _notebookOptions; private _currentProgress; get notebookOptions(): NotebookOptions; constructor(creationOptions: INotebookEditorCreationOptions, dimension: DOM.Dimension | undefined, instantiationService: IInstantiationService, editorGroupsService: IEditorGroupsService, notebookRendererMessaging: INotebookRendererMessagingService, notebookEditorService: INotebookEditorService, notebookKernelService: INotebookKernelService, _notebookService: INotebookService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, layoutService: ILayoutService, contextMenuService: IContextMenuService, telemetryService: ITelemetryService, notebookExecutionService: INotebookExecutionService, editorProgressService: IEditorProgressService, logService: INotebookLoggingService); private _debugFlag; private _debug; /** * EditorId */ getId(): string; getViewModel(): NotebookViewModel | undefined; getLength(): number; getSelections(): ICellRange[]; setSelections(selections: ICellRange[]): void; getFocus(): ICellRange; setFocus(focus: ICellRange): void; getSelectionViewModels(): ICellViewModel[]; hasModel(): this is IActiveNotebookEditorDelegate; showProgress(): void; hideProgress(): void; getBaseCellEditorOptions(language: string): IBaseCellEditorOptions; private _updateForNotebookConfiguration; private _generateFontInfo; private _createBody; private _generateFontFamily; private _createLayoutStyles; private _createCellList; private showListContextMenu; private _registerNotebookOverviewRuler; private _registerNotebookActionsToolbar; private _registerNotebookStickyScroll; private _updateOutputRenderers; getDomNode(): HTMLElement; getOverflowContainerDomNode(): HTMLElement; getInnerWebview(): IWebviewElement | undefined; setEditorProgressService(editorProgressService: IEditorProgressService): void; setParentContextKeyService(parentContextKeyService: IContextKeyService): void; setModel(textModel: NotebookTextModel, viewState: INotebookEditorViewState | undefined, perf?: NotebookPerfMarks, viewType?: string): Promise; private _backgroundMarkdownRenderRunning; private _backgroundMarkdownRendering; private _backgroundMarkdownRenderingWithDeadline; private updateContextKeysOnFocusChange; setOptions(options: INotebookEditorOptions | undefined): Promise; private _parseIndexedCellOptions; private _detachModel; private _updateForOptions; private _resolveWebview; private _ensureWebview; private _attachModel; private _bindCellListener; private _lastCellWithEditorFocus; private _validateCellFocusMode; private _warmupWithMarkdownRenderer; private _warmupViewportMarkdownCells; private createMarkupCellInitialization; restoreListViewState(viewState: INotebookEditorViewState | undefined): void; private _restoreSelectedKernel; getEditorViewState(): INotebookEditorViewState; private _allowScrollBeyondLastLine; private getBodyHeight; layout(dimension: DOM.Dimension, shadowElement?: HTMLElement, position?: DOM.IDomPosition): void; private layoutNotebook; private updateShadowElement; private layoutContainerOverShadowElement; focus(): void; onShow(): void; private focusEditor; focusContainer(clearSelection?: boolean): void; selectOutputContent(cell: ICellViewModel): void; selectInputContents(cell: ICellViewModel): void; onWillHide(): void; private clearActiveCellWidgets; private editorHasDomFocus; updateEditorFocus(): void; updateCellFocusMode(): void; hasEditorFocus(): boolean; hasWebviewFocus(): boolean; hasOutputTextSelection(): boolean; _didFocusOutputInputChange(hasFocus: boolean): void; focusElement(cell: ICellViewModel): void; get scrollTop(): number; get scrollBottom(): number; getAbsoluteTopOfElement(cell: ICellViewModel): number; getAbsoluteBottomOfElement(cell: ICellViewModel): number; getHeightOfElement(cell: ICellViewModel): number; scrollToBottom(): void; setScrollTop(scrollTop: number): void; revealCellRangeInView(range: ICellRange): void; revealInView(cell: ICellViewModel): Promise; revealInViewAtTop(cell: ICellViewModel): void; revealInCenter(cell: ICellViewModel): void; revealInCenterIfOutsideViewport(cell: ICellViewModel): Promise; revealFirstLineIfOutsideViewport(cell: ICellViewModel): Promise; revealLineInViewAsync(cell: ICellViewModel, line: number): Promise; revealLineInCenterAsync(cell: ICellViewModel, line: number): Promise; revealLineInCenterIfOutsideViewportAsync(cell: ICellViewModel, line: number): Promise; revealRangeInViewAsync(cell: ICellViewModel, range: Selection | Range): Promise; revealRangeInCenterAsync(cell: ICellViewModel, range: Selection | Range): Promise; revealRangeInCenterIfOutsideViewportAsync(cell: ICellViewModel, range: Selection | Range): Promise; revealCellOffsetInCenter(cell: ICellViewModel, offset: number): void; revealOffsetInCenterIfOutsideViewport(offset: number): void; getViewIndexByModelIndex(index: number): number; getViewHeight(cell: ICellViewModel): number; getCellRangeFromViewRange(startIndex: number, endIndex: number): ICellRange | undefined; getCellsInRange(range?: ICellRange): ReadonlyArray; setCellEditorSelection(cell: ICellViewModel, range: Range): void; setHiddenAreas(_ranges: ICellRange[]): boolean; getVisibleRangesPlusViewportAboveAndBelow(): ICellRange[]; deltaCellDecorations(oldDecorations: string[], newDecorations: INotebookDeltaDecoration[]): string[]; deltaCellContainerClassNames(cellId: string, added: string[], removed: string[], cellkind: CellKind): void; changeModelDecorations(callback: (changeAccessor: IModelDecorationsChangeAccessor) => T): T | null; changeViewZones(callback: (accessor: INotebookViewZoneChangeAccessor) => void): void; getViewZoneLayoutInfo(id: string): { top: number; height: number; } | null; changeCellOverlays(callback: (accessor: INotebookCellOverlayChangeAccessor) => void): void; private _loadKernelPreloads; get activeKernel(): import("../common/notebookKernelService.js").INotebookKernel | undefined; cancelNotebookCells(cells?: Iterable): Promise; executeNotebookCells(cells?: Iterable): Promise; layoutNotebookCell(cell: ICellViewModel, height: number, context?: CellLayoutContext): Promise; getActiveCell(): ICellViewModel | undefined; private _toggleNotebookCellSelection; private getCellsInViewRange; focusNotebookCell(cell: ICellViewModel, focusItem: "editor" | "container" | "output", options?: IFocusNotebookCellOptions): Promise; focusNextNotebookCell(cell: ICellViewModel, focusItem: "editor" | "container" | "output"): Promise; private _warmupCell; private _warmupAll; private _warmupSelection; find(query: string, options: INotebookFindOptions, token: CancellationToken, skipWarmup?: boolean, shouldGetSearchPreviewInfo?: boolean, ownerID?: string): Promise; findHighlightCurrent(matchIndex: number, ownerID?: string): Promise; findUnHighlightCurrent(matchIndex: number, ownerID?: string): Promise; findStop(ownerID?: string): void; getLayoutInfo(): NotebookLayoutInfo; createMarkupPreview(cell: MarkupCellViewModel): Promise; private cellIsHidden; unhideMarkupPreviews(cells: readonly MarkupCellViewModel[]): Promise; hideMarkupPreviews(cells: readonly MarkupCellViewModel[]): Promise; deleteMarkupPreviews(cells: readonly MarkupCellViewModel[]): Promise; private updateSelectedMarkdownPreviews; createOutput(cell: CodeCellViewModel, output: IInsetRenderOutput, offset: number, createWhenIdle: boolean): Promise; updateOutput(cell: CodeCellViewModel, output: IInsetRenderOutput, offset: number): Promise; copyOutputImage(cellOutput: ICellOutputViewModel): Promise; removeInset(output: ICellOutputViewModel): void; hideInset(output: ICellOutputViewModel): void; postMessage(message: unknown): void; addClassName(className: string): void; removeClassName(className: string): void; cellAt(index: number): ICellViewModel | undefined; getCellByInfo(cellInfo: ICommonCellInfo): ICellViewModel; getCellByHandle(handle: number): ICellViewModel | undefined; getCellIndex(cell: ICellViewModel): number | undefined; getNextVisibleCellIndex(index: number): number | undefined; getPreviousVisibleCellIndex(index: number): number | undefined; private _updateScrollHeight; private _updateOutputHeight; private readonly _pendingOutputHeightAcks; private _scheduleOutputHeightAck; private _getCellById; private _updateMarkupCellHeight; private _setMarkupCellEditState; private _didStartDragMarkupCell; private _didDragMarkupCell; private _didDropMarkupCell; private _didEndDragMarkupCell; private _didResizeOutput; private _updatePerformanceMetadata; getContribution(id: string): T; dispose(): void; toJSON(): { notebookUri: URI | undefined; }; } export declare const notebookCellBorder: string; export declare const focusedEditorBorderColor: string; export declare const cellStatusIconSuccess: string; export declare const runningCellRulerDecorationColor: string; export declare const cellStatusIconError: string; export declare const cellStatusIconRunning: string; export declare const notebookOutputContainerBorderColor: string; export declare const notebookOutputContainerColor: string; export declare const CELL_TOOLBAR_SEPERATOR: string; export declare const focusedCellBackground: string; export declare const selectedCellBackground: string; export declare const cellHoverBackground: string; export declare const selectedCellBorder: string; export declare const inactiveSelectedCellBorder: string; export declare const focusedCellBorder: string; export declare const inactiveFocusedCellBorder: string; export declare const cellStatusBarItemHover: string; export declare const cellInsertionIndicator: string; export declare const listScrollbarSliderBackground: string; export declare const listScrollbarSliderHoverBackground: string; export declare const listScrollbarSliderActiveBackground: string; export declare const cellSymbolHighlight: string; export declare const cellEditorBackground: string;