[rd-editor] IJPL-185748 Frontend speculative undo/redo

GitOrigin-RevId: 228e1cfb8e07877664d1c1a1e46c08d2928026e8
This commit is contained in:
Alexander Trushev
2025-06-04 18:00:37 +00:00
committed by intellij-monorepo-bot
parent 870d572380
commit 478629edc9
2 changed files with 5 additions and 2 deletions
@@ -519,7 +519,9 @@ final class UndoClientState implements Disposable {
private void addUndoableAction(@NotNull UndoableAction action) {
addActionToSharedStack(action);
currentCommandMerger.addAction(action);
undoSpy.addUndoableAction(action, UndoableActionType.forAction(action));
if (!(currentProject instanceof DummyProject)) {
undoSpy.addUndoableAction(currentProject, action, UndoableActionType.forAction(action));
}
}
private void clearRedoStacks(@NotNull CommandMerger nextMerger) {
@@ -20,6 +20,7 @@ interface UndoSpy {
)
fun addUndoableAction(
project: Project?,
action: UndoableAction,
type: UndoableActionType,
)
@@ -37,7 +38,7 @@ interface UndoSpy {
@JvmField
val BLIND: UndoSpy = object : UndoSpy {
override fun commandStarted(project: Project?, undoConfirmationPolicy: UndoConfirmationPolicy) {}
override fun addUndoableAction(action: UndoableAction, type: UndoableActionType) {}
override fun addUndoableAction(project: Project?, action: UndoableAction, type: UndoableActionType) {}
override fun commandFinished(project: Project?, commandName: @Command String?, commandGroupId: Any?, isTransparent: Boolean) {}
override fun flushCommand(project: Project?) {}
}