UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

71 lines (69 loc) 3 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IDisposable } from '@sussudio/base/common/lifecycle.mjs'; import { URI } from '@sussudio/base/common/uri.mjs'; import { IDialogService } from '../../dialogs/common/dialogs.mjs'; import { INotificationService } from '../../notification/common/notification.mjs'; import { IPastFutureElements, IUndoRedoElement, IUndoRedoService, ResourceEditStackSnapshot, UndoRedoGroup, UndoRedoSource, UriComparisonKeyComputer, } from './undoRedo.mjs'; export declare class UndoRedoService implements IUndoRedoService { private readonly _dialogService; private readonly _notificationService; readonly _serviceBrand: undefined; private readonly _editStacks; private readonly _uriComparisonKeyComputers; constructor(_dialogService: IDialogService, _notificationService: INotificationService); registerUriComparisonKeyComputer(scheme: string, uriComparisonKeyComputer: UriComparisonKeyComputer): IDisposable; getUriComparisonKey(resource: URI): string; private _print; pushElement(element: IUndoRedoElement, group?: UndoRedoGroup, source?: UndoRedoSource): void; private _pushElement; getLastElement(resource: URI): IUndoRedoElement | null; private _splitPastWorkspaceElement; private _splitFutureWorkspaceElement; removeElements(resource: URI | string): void; setElementsValidFlag(resource: URI, isValid: boolean, filter: (element: IUndoRedoElement) => boolean): void; hasElements(resource: URI): boolean; createSnapshot(resource: URI): ResourceEditStackSnapshot; restoreSnapshot(snapshot: ResourceEditStackSnapshot): void; getElements(resource: URI): IPastFutureElements; private _findClosestUndoElementWithSource; canUndo(resourceOrSource: URI | UndoRedoSource): boolean; private _onError; private _acquireLocks; private _safeInvokeWithLocks; private _invokeWorkspacePrepare; private _invokeResourcePrepare; private _getAffectedEditStacks; private _tryToSplitAndUndo; private _checkWorkspaceUndo; private _workspaceUndo; private _isPartOfUndoGroup; private _confirmAndExecuteWorkspaceUndo; private _resourceUndo; private _findClosestUndoElementInGroup; private _continueUndoInGroup; undo(resourceOrSource: URI | UndoRedoSource): Promise<void> | void; private _undo; private _confirmAndContinueUndo; private _findClosestRedoElementWithSource; canRedo(resourceOrSource: URI | UndoRedoSource): boolean; private _tryToSplitAndRedo; private _checkWorkspaceRedo; private _workspaceRedo; private _executeWorkspaceRedo; private _resourceRedo; private _findClosestRedoElementInGroup; private _continueRedoInGroup; redo(resourceOrSource: URI | UndoRedoSource | string): Promise<void> | void; private _redo; }