@theia/monaco
Version:
Theia - Monaco Extension
85 lines • 4.97 kB
TypeScript
import { URI as Uri } from '@theia/core/shared/vscode-uri';
import { Emitter } from '@theia/core/lib/common/event';
import { FileSystemPreferences } from '@theia/filesystem/lib/common';
import { EditorManager } from '@theia/editor/lib/browser';
import { MonacoTextModelService } from './monaco-text-model-service';
import { MonacoEditorModel, MonacoModelContentChangedEvent } from './monaco-editor-model';
import { MonacoEditor } from './monaco-editor';
import { ProblemManager } from '@theia/markers/lib/browser';
import { FileService } from '@theia/filesystem/lib/browser/file-service';
import * as monaco from '@theia/monaco-editor-core';
import { IBulkEditOptions, IBulkEditResult, ResourceEdit, ResourceFileEdit as MonacoResourceFileEdit, ResourceTextEdit as MonacoResourceTextEdit } from '@theia/monaco-editor-core/esm/vs/editor/browser/services/bulkEditService';
import { TextEdit } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
import { MaybePromise } from '@theia/core/lib/common';
import { SaveableService } from '@theia/core/lib/browser';
import { EditorPreferences } from '@theia/editor/lib/common/editor-preferences';
export declare namespace WorkspaceFileEdit {
function is(arg: Edit): arg is monaco.languages.IWorkspaceFileEdit;
}
export declare namespace WorkspaceTextEdit {
function is(arg: Edit): arg is monaco.languages.IWorkspaceTextEdit;
}
export type Edit = monaco.languages.IWorkspaceFileEdit | monaco.languages.IWorkspaceTextEdit;
export declare namespace ResourceFileEdit {
function is(arg: ResourceEdit): arg is MonacoResourceFileEdit;
}
export declare namespace ResourceTextEdit {
function is(arg: ResourceEdit): arg is MonacoResourceTextEdit;
}
export interface WorkspaceFoldersChangeEvent {
readonly added: WorkspaceFolder[];
readonly removed: WorkspaceFolder[];
}
export interface WorkspaceFolder {
readonly uri: Uri;
readonly name: string;
readonly index: number;
}
export declare class MonacoWorkspace {
protected resolveReady: () => void;
readonly ready: Promise<void>;
protected readonly onDidOpenTextDocumentEmitter: Emitter<MonacoEditorModel>;
readonly onDidOpenTextDocument: import("@theia/core/lib/common").Event<MonacoEditorModel>;
protected readonly onDidCloseTextDocumentEmitter: Emitter<MonacoEditorModel>;
readonly onDidCloseTextDocument: import("@theia/core/lib/common").Event<MonacoEditorModel>;
protected readonly onDidChangeTextDocumentEmitter: Emitter<MonacoModelContentChangedEvent>;
readonly onDidChangeTextDocument: import("@theia/core/lib/common").Event<MonacoModelContentChangedEvent>;
protected readonly onDidSaveTextDocumentEmitter: Emitter<MonacoEditorModel>;
readonly onDidSaveTextDocument: import("@theia/core/lib/common").Event<MonacoEditorModel>;
protected readonly fileService: FileService;
protected readonly filePreferences: FileSystemPreferences;
protected readonly editorPreferences: EditorPreferences;
protected readonly textModelService: MonacoTextModelService;
protected readonly editorManager: EditorManager;
protected readonly problems: ProblemManager;
protected readonly saveService: SaveableService;
protected init(): void;
get textDocuments(): MonacoEditorModel[];
getTextDocument(uri: string): MonacoEditorModel | undefined;
protected fireDidOpen(model: MonacoEditorModel): void;
protected doFireDidOpen(model: MonacoEditorModel): void;
protected fireDidClose(model: MonacoEditorModel): void;
protected fireDidChangeContent(event: MonacoModelContentChangedEvent): void;
protected fireDidSave(model: MonacoEditorModel): void;
protected readonly suppressedOpenIfDirty: MonacoEditorModel[];
protected openEditorIfDirty(model: MonacoEditorModel): void;
protected suppressOpenIfDirty(model: MonacoEditorModel, cb: () => MaybePromise<void>): Promise<void>;
/**
* Applies given edits to the given model.
* The model is saved if no editors is opened for it.
*/
applyBackgroundEdit(model: MonacoEditorModel, editOperations: monaco.editor.IIdentifiedSingleEditOperation[], shouldSave?: boolean | ((openEditor: MonacoEditor | undefined, wasDirty: boolean) => boolean)): Promise<void>;
applyBulkEdit(edits: ResourceEdit[], options?: IBulkEditOptions): Promise<IBulkEditResult>;
protected saveAll(resources: Set<string>): Promise<void>;
protected getAriaSummary(totalEdits: number, totalFiles: number): string;
protected performTextEdits(edits: MonacoResourceTextEdit[]): Promise<{
totalEdits: number;
totalFiles: number;
}>;
protected performFileEdits(edits: MonacoResourceFileEdit[]): Promise<void>;
protected performSnippetEdits(edits: MonacoResourceTextEdit[]): Promise<void>;
protected transformSnippetStringToInsertText(resourceEdit: MonacoResourceTextEdit): TextEdit & {
insertAsSnippet?: boolean;
};
}
//# sourceMappingURL=monaco-workspace.d.ts.map