import { interfaces, Container } from '@theia/core/shared/inversify'; import * as monaco from '@theia/monaco-editor-core'; import { IDecorationOptions } from '@theia/monaco-editor-core/esm/vs/editor/common/editorCommon'; import URI from '@theia/core/lib/common/uri'; import { Disposable, DisposableCollection, MenuPath } from '@theia/core'; import { ContextMenuRenderer } from '@theia/core/lib/browser'; import { BreakpointManager, SourceBreakpointsChangeEvent } from '../breakpoint/breakpoint-manager'; import { DebugSourceBreakpoint } from '../model/debug-source-breakpoint'; import { DebugSessionManager } from '../debug-session-manager'; import { SourceBreakpoint } from '../breakpoint/breakpoint-marker'; import { DebugEditor } from './debug-editor'; import { DebugHoverWidget } from './debug-hover-widget'; import { DebugBreakpointWidget } from './debug-breakpoint-widget'; import { DebugExceptionWidget } from './debug-exception-widget'; import { DebugProtocol } from '@vscode/debugprotocol'; import { DebugInlineValueDecorator } from './debug-inline-value-decorator'; export declare const DebugEditorModelFactory: unique symbol; export type DebugEditorModelFactory = (editor: DebugEditor) => DebugEditorModel; export declare class DebugEditorModel implements Disposable { static createContainer(parent: interfaces.Container, editor: DebugEditor): Container; static createModel(parent: interfaces.Container, editor: DebugEditor): DebugEditorModel; static CONTEXT_MENU: MenuPath; protected readonly toDispose: DisposableCollection; protected readonly toDisposeOnUpdate: DisposableCollection; protected uri: URI; protected breakpointDecorations: string[]; protected breakpointRanges: Map; protected currentBreakpointDecorations: string[]; protected editorDecorations: string[]; /** * Set during `render()` to prevent `onDidChangeDecorations` → `updateBreakpoints()` * from reading back the decoration positions we just wrote, which would produce * a spurious or circular `setBreakpoints` call. */ protected ignoreDecorationsChangedEvent: boolean; /** * Set during `updateBreakpoints()` to prevent the resulting * `onDidChangeBreakpoints` from re-entering `render()`. */ protected ignoreBreakpointsChangeEvent: boolean; protected toDisposeOnModelChange: DisposableCollection; readonly hover: DebugHoverWidget; readonly editor: DebugEditor; readonly breakpoints: BreakpointManager; readonly sessions: DebugSessionManager; readonly contextMenu: ContextMenuRenderer; readonly breakpointWidget: DebugBreakpointWidget; readonly exceptionWidget: DebugExceptionWidget; readonly inlineValueDecorator: DebugInlineValueDecorator; protected readonly sessionManager: DebugSessionManager; protected init(): void; protected updateModel(): void; dispose(): void; protected readonly update: () => Promise; protected updateEditorDecorations(): Promise; protected createInlineValueDecorations(): Promise; protected createFrameDecorations(): monaco.editor.IModelDeltaDecoration[]; protected toggleExceptionWidget(): Promise; render(): void; protected renderBreakpoints(): void; protected createBreakpointDecorations(breakpoints: readonly DebugSourceBreakpoint[]): monaco.editor.IModelDeltaDecoration[]; protected createBreakpointDecoration(breakpoint: DebugSourceBreakpoint): monaco.editor.IModelDeltaDecoration; protected updateBreakpointRanges(breakpoints: readonly DebugSourceBreakpoint[]): void; protected renderCurrentBreakpoints(): void; protected createCurrentBreakpointDecorations(): monaco.editor.IModelDeltaDecoration[]; protected createCurrentBreakpointDecoration(breakpoint: DebugSourceBreakpoint): monaco.editor.IModelDeltaDecoration; protected updateBreakpoints(): void; protected areBreakpointsAffected(): boolean; protected createBreakpoints(): SourceBreakpoint[]; get position(): monaco.Position; getBreakpoint(position?: monaco.Position): DebugSourceBreakpoint | undefined; getInlineBreakpoint(position?: monaco.Position): DebugSourceBreakpoint | undefined; protected getLineBreakpoints(position?: monaco.Position): DebugSourceBreakpoint[]; protected addBreakpoint(raw: DebugProtocol.SourceBreakpoint): void; toggleBreakpoint(position?: monaco.Position): void; addInlineBreakpoint(): void; acceptBreakpoint(): void; protected handleMouseDown(event: monaco.editor.IEditorMouseEvent): void; protected handleMouseMove(event: monaco.editor.IEditorMouseEvent): void; protected handleMouseLeave(event: monaco.editor.IPartialEditorMouseEvent): void; protected hintDecorations: string[]; protected hintBreakpoint(event: monaco.editor.IEditorMouseEvent): void; protected deltaHintDecorations(hintDecorations: monaco.editor.IModelDeltaDecoration[]): void; protected createHintDecorations(event: monaco.editor.IEditorMouseEvent): monaco.editor.IModelDeltaDecoration[]; protected closeBreakpointIfAffected({ uri, removed }: SourceBreakpointsChangeEvent): void; protected showHover(mouseEvent: monaco.editor.IEditorMouseEvent): void; protected hideHover({ event }: monaco.editor.IPartialEditorMouseEvent): void; protected deltaDecorations(oldDecorations: string[], newDecorations: monaco.editor.IModelDeltaDecoration[]): string[]; static STICKINESS: monaco.editor.TrackedRangeStickiness; static BREAKPOINT_HINT_DECORATION: monaco.editor.IModelDecorationOptions; static TOP_STACK_FRAME_MARGIN: monaco.editor.IModelDecorationOptions; static FOCUSED_STACK_FRAME_MARGIN: monaco.editor.IModelDecorationOptions; static TOP_STACK_FRAME_DECORATION: monaco.editor.IModelDecorationOptions; static TOP_STACK_FRAME_INLINE_DECORATION: monaco.editor.IModelDecorationOptions; static FOCUSED_STACK_FRAME_DECORATION: monaco.editor.IModelDecorationOptions; } //# sourceMappingURL=debug-editor-model.d.ts.map