From f1ade4724720b6ba69d49eef781a612bf4cb38d3 Mon Sep 17 00:00:00 2001 From: hi2gage Date: Sun, 9 Feb 2025 23:43:31 -0700 Subject: [PATCH 1/2] Fix grouping --- Sources/CodeEditTextView/Utils/CEUndoManager.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Sources/CodeEditTextView/Utils/CEUndoManager.swift b/Sources/CodeEditTextView/Utils/CEUndoManager.swift index e9ce12235..ad6397cbd 100644 --- a/Sources/CodeEditTextView/Utils/CEUndoManager.swift +++ b/Sources/CodeEditTextView/Utils/CEUndoManager.swift @@ -40,6 +40,14 @@ public class CEUndoManager { parent?.redo() } + public override func beginUndoGrouping() { + parent?.beginGrouping() + } + + public override func endUndoGrouping() { + parent?.endGrouping() + } + public override func registerUndo(withTarget target: Any, selector: Selector, object anObject: Any?) { // no-op, but just in case to save resources: removeAllActions() From 22845a0552bb24802dade622088b02af4b6d5a28 Mon Sep 17 00:00:00 2001 From: hi2gage Date: Sun, 9 Feb 2025 23:53:17 -0700 Subject: [PATCH 2/2] Make CEUndoManager method names match UndoManager --- Sources/CodeEditTextView/Utils/CEUndoManager.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Sources/CodeEditTextView/Utils/CEUndoManager.swift b/Sources/CodeEditTextView/Utils/CEUndoManager.swift index ad6397cbd..c716d49b4 100644 --- a/Sources/CodeEditTextView/Utils/CEUndoManager.swift +++ b/Sources/CodeEditTextView/Utils/CEUndoManager.swift @@ -41,11 +41,11 @@ public class CEUndoManager { } public override func beginUndoGrouping() { - parent?.beginGrouping() + parent?.beginUndoGrouping() } public override func endUndoGrouping() { - parent?.endGrouping() + parent?.endUndoGrouping() } public override func registerUndo(withTarget target: Any, selector: Selector, object anObject: Any?) { @@ -172,18 +172,18 @@ public class CEUndoManager { // MARK: - Grouping /// Groups all incoming mutations. - public func beginGrouping() { + public func beginUndoGrouping() { guard !isGrouping else { - assertionFailure("UndoManager already in a group. Call `endGrouping` before this can be called.") + assertionFailure("UndoManager already in a group. Call `beginUndoGrouping` before this can be called.") return } isGrouping = true } /// Stops grouping all incoming mutations. - public func endGrouping() { + public func endUndoGrouping() { guard isGrouping else { - assertionFailure("UndoManager not in a group. Call `beginGrouping` before this can be called.") + assertionFailure("UndoManager not in a group. Call `endUndoGrouping` before this can be called.") return } isGrouping = false