emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/speedrect 2f46cbec96 07/16: multiple-cursors: recall la


From: ELPA Syncer
Subject: [elpa] externals/speedrect 2f46cbec96 07/16: multiple-cursors: recall last rectangle rect when completed
Date: Tue, 17 Dec 2024 18:59:40 -0500 (EST)

branch: externals/speedrect
commit 2f46cbec9647f1e7d8bf271b90d42f65a71b8f18
Author: JD Smith <93749+jdtsmith@users.noreply.github.com>
Commit: JD Smith <93749+jdtsmith@users.noreply.github.com>

    multiple-cursors: recall last rectangle rect when completed
    
    I.e. with Ret or C-g is called and MC is disabled, recall-last
---
 speedrect.el | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/speedrect.el b/speedrect.el
index ae24c3c1ae..c5fe6bf821 100644
--- a/speedrect.el
+++ b/speedrect.el
@@ -323,6 +323,14 @@ inserted text."
 
 ;;* 
 ;;;; Multiple Cursors
+(defun speedrect--mc-restart ()
+  "Restart speedrect with stored rectangle.
+Also removes itself from `multiple-cursors-mode-hook'."
+  (unless multiple-cursors-mode
+    (remove-hook 'multiple-cursors-mode-hook
+                #'speedrect--mc-restart t) 
+    (speedrect-recall-last)))
+
 (declare-function mc/edit-lines "mc-edit-lines")
 (defun speedrect-multiple-cursors ()
   "Add multiple cursors on each line at the current column."
@@ -332,7 +340,9 @@ inserted text."
     (error (user-error "Multiple-cursors not found"))
     (:success
      (let ((col (current-column)))
-       (speedrect-stash)
+       (speedrect-quit)
+       (add-hook 'multiple-cursors-mode-hook
+                #'speedrect--mc-restart nil t)
        (exchange-point-and-mark)
        (move-to-column col)
        (mc/edit-lines)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]