import { URI as Uri } from '../../../vs/base/common/uri'; import { Position } from '../../../vs/workbench/api/common/extHostTypes/position'; import { Range } from '../../../vs/workbench/api/common/extHostTypes/range'; import { SnippetString } from '../../../vs/workbench/api/common/extHostTypes/snippetString'; import { SnippetTextEdit } from '../../../vs/workbench/api/common/extHostTypes/snippetTextEdit'; import { TextEdit } from '../../../vs/workbench/api/common/extHostTypes/textEdit'; export interface WorkspaceEditEntryMetadata { needsConfirmation: boolean; label: string; description?: string; } export interface IFileOperationOptions { readonly overwrite?: boolean; readonly ignoreIfExists?: boolean; readonly ignoreIfNotExists?: boolean; readonly recursive?: boolean; readonly contents?: Uint8Array; } export declare const enum FileEditType { File = 1, Text = 2, Cell = 3, CellReplace = 5, Snippet = 6 } export interface IFileOperation { readonly _type: FileEditType.File; readonly from?: Uri; readonly to?: Uri; readonly options?: IFileOperationOptions; readonly metadata?: WorkspaceEditEntryMetadata; } export interface IFileTextEdit { readonly _type: FileEditType.Text; readonly uri: Uri; readonly edit: TextEdit; readonly metadata?: WorkspaceEditEntryMetadata; } export interface IFileSnippetTextEdit { readonly _type: FileEditType.Snippet; readonly uri: Uri; readonly range: Range; readonly edit: SnippetString; readonly metadata?: WorkspaceEditEntryMetadata; } type WorkspaceEditEntry = IFileOperation | IFileTextEdit | IFileSnippetTextEdit; export declare class WorkspaceEdit { private readonly _edits; _allEntries(): ReadonlyArray; renameFile(from: Uri, to: Uri, options?: { readonly overwrite?: boolean; readonly ignoreIfExists?: boolean; }, metadata?: WorkspaceEditEntryMetadata): void; createFile(uri: Uri, options?: { readonly overwrite?: boolean; readonly ignoreIfExists?: boolean; readonly contents?: Uint8Array; }, metadata?: WorkspaceEditEntryMetadata): void; deleteFile(uri: Uri, options?: { readonly recursive?: boolean; readonly ignoreIfNotExists?: boolean; }, metadata?: WorkspaceEditEntryMetadata): void; replace(uri: Uri, range: Range, newText: string, metadata?: WorkspaceEditEntryMetadata): void; insert(resource: Uri, position: Position, newText: string, metadata?: WorkspaceEditEntryMetadata): void; delete(resource: Uri, range: Range, metadata?: WorkspaceEditEntryMetadata): void; has(uri: Uri): boolean; set(uri: Uri, edits: ReadonlyArray): void; set(uri: Uri, edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]>): void; get(uri: Uri): TextEdit[]; entries(): [Uri, TextEdit[]][]; get size(): number; toJSON(): any; } /** * Represents sources that can cause {@link window.onDidChangeTextEditorSelection selection change events}. */ export declare enum TextEditorSelectionChangeKind { /** * Selection changed due to typing in the editor. */ Keyboard = 1, /** * Selection change due to clicking in the editor. */ Mouse = 2, /** * Selection changed because a command ran. */ Command = 3 } /** * Reasons for why a text document has changed. */ export declare enum TextDocumentChangeReason { /** The text change is caused by an undo operation. */ Undo = 1, /** The text change is caused by an redo operation. */ Redo = 2 } export {}; //# sourceMappingURL=editing.d.ts.map