@codingame/monaco-vscode-extensions-service-override
Version:
VSCode public API plugged on the monaco editor - extensions service-override
61 lines (60 loc) • 4.92 kB
TypeScript
import { UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
import { ICodeEditorService } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service";
import { IRange } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
import { ISelection } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/selection";
import { IDecorationOptions, IDecorationRenderOptions } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/editorCommon";
import { ISingleEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editOperation";
import { MainThreadTextEditor } from "./mainThreadEditor.js";
import { IApplyEditsOptions, ITextDocumentShowOptions, ITextEditorConfigurationUpdate, IUndoStopOptions, MainThreadTextEditorsShape, TextEditorRevealType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
import { EditorGroupColumn } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupColumn";
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
import { IChange } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/legacyLinesDiffComputer";
import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
import { IEditorControl } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
import { ICodeEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser";
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
import { IQuickDiffModelService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/quickDiffModel.service";
import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
export interface IMainThreadEditorLocator {
getEditor(id: string): MainThreadTextEditor | undefined;
findTextEditorIdFor(editorControl: IEditorControl): string | undefined;
getIdOfCodeEditor(codeEditor: ICodeEditor): string | undefined;
}
export declare class MainThreadTextEditors implements MainThreadTextEditorsShape {
private readonly _editorLocator;
private readonly _codeEditorService;
private readonly _editorService;
private readonly _editorGroupService;
private readonly _configurationService;
private readonly _quickDiffModelService;
private readonly _uriIdentityService;
private static INSTANCE_COUNT;
private readonly _instanceId;
private readonly _proxy;
private readonly _toDispose;
private _textEditorsListenersMap;
private _editorPositionData;
private _registeredDecorationTypes;
constructor(_editorLocator: IMainThreadEditorLocator, extHostContext: IExtHostContext, _codeEditorService: ICodeEditorService, _editorService: IEditorService, _editorGroupService: IEditorGroupsService, _configurationService: IConfigurationService, _quickDiffModelService: IQuickDiffModelService, _uriIdentityService: IUriIdentityService);
dispose(): void;
handleTextEditorAdded(textEditor: MainThreadTextEditor): void;
handleTextEditorRemoved(id: string): void;
private _updateActiveAndVisibleTextEditors;
private _getTextEditorPositionData;
private _getTextEditorDiffInformation;
$tryShowTextDocument(resource: UriComponents, options: ITextDocumentShowOptions): Promise<string | undefined>;
$tryShowEditor(id: string, position?: EditorGroupColumn): Promise<void>;
$tryHideEditor(id: string): Promise<void>;
$trySetSelections(id: string, selections: ISelection[]): Promise<void>;
$trySetDecorations(id: string, key: string, ranges: IDecorationOptions[]): Promise<void>;
$trySetDecorationsFast(id: string, key: string, ranges: number[]): Promise<void>;
$tryRevealRange(id: string, range: IRange, revealType: TextEditorRevealType): Promise<void>;
$trySetOptions(id: string, options: ITextEditorConfigurationUpdate): Promise<void>;
$tryApplyEdits(id: string, modelVersionId: number, edits: ISingleEditOperation[], opts: IApplyEditsOptions): Promise<boolean>;
$tryInsertSnippet(id: string, modelVersionId: number, template: string, ranges: readonly IRange[], opts: IUndoStopOptions): Promise<boolean>;
$registerTextEditorDecorationType(extensionId: ExtensionIdentifier, key: string, options: IDecorationRenderOptions): void;
$removeTextEditorDecorationType(key: string): void;
$getDiffInformation(id: string): Promise<IChange[]>;
}