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

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

[nongnu] elpa/iedit 06bdb68bbf 203/301: Add iedit-switch-to-mc-mode


From: ELPA Syncer
Subject: [nongnu] elpa/iedit 06bdb68bbf 203/301: Add iedit-switch-to-mc-mode
Date: Mon, 10 Jan 2022 22:59:02 -0500 (EST)

branch: elpa/iedit
commit 06bdb68bbf8a809d8be22e2e3a10281fbb522f1a
Author: Victor Ren <victorhge@gmail.com>
Commit: Victor Ren <victorhge@gmail.com>

    Add iedit-switch-to-mc-mode
    
    Iedit can switch to multiple-cursors-mode if you have it installed now.
---
 iedit-lib.el  | 23 ++++++++++++++++++++++-
 iedit-rect.el |  4 ++--
 iedit.el      |  3 +--
 3 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/iedit-lib.el b/iedit-lib.el
index 8c0f70b7f0..01ebd7384a 100644
--- a/iedit-lib.el
+++ b/iedit-lib.el
@@ -3,7 +3,7 @@
 
 ;; Copyright (C) 2010, 2011, 2012 Victor Ren
 
-;; Time-stamp: <2016-06-08 10:44:42 Victor Ren>
+;; Time-stamp: <2016-06-11 12:57:46 Victor Ren>
 ;; Author: Victor Ren <victorhge@gmail.com>
 ;; Keywords: occurrence region simultaneous rectangle refactoring
 ;; Version: 0.97
@@ -580,6 +580,27 @@ value of `iedit-occurrence-context-lines' is used for this 
time."
   (iedit-barf-if-buffering)
   (iedit-apply-on-occurrences 'upcase-region))
 
+(when (featurep 'multiple-cursors-core)
+  (require 'multiple-cursors-core)
+
+  (defun iedit-switch-to-mc-mode ()
+    "Switch to multiple-cursors-mode."
+    (interactive "*")
+    (iedit-barf-if-buffering)
+    (let* ((ov (iedit-find-current-occurrence-overlay))
+           (offset (- (point) (overlay-start ov)))
+           (master (point)))
+      (mc/save-excursion
+       (dolist (occurrence iedit-occurrences-overlays)
+         (goto-char (+ (overlay-start occurrence) offset))
+         (unless (= master (point))
+           (mc/create-fake-cursor-at-point))
+         ))
+      (multiple-cursors-mode 1)
+      (run-hooks 'iedit-aborting-hook)))
+
+  (define-key iedit-occurrence-keymap-default (kbd "M-M") 
'iedit-switch-to-mc-mode))
+
 (defun iedit-downcase-occurrences()
   "Covert occurrences to lower case."
   (interactive "*")
diff --git a/iedit-rect.el b/iedit-rect.el
index 112902bcfe..dce6b14a72 100644
--- a/iedit-rect.el
+++ b/iedit-rect.el
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2010, 2011, 2012 Victor Ren
 
-;; Time-stamp: <2013-10-21 16:15:25 Victor Ren>
+;; Time-stamp: <2016-06-11 12:48:13 Victor Ren>
 ;; Author: Victor Ren <victorhge@gmail.com>
 ;; Keywords: occurrence region simultaneous rectangle refactoring
 ;; Version: 0.97
@@ -66,7 +66,7 @@ current mode is iedit-rect. Otherwise it is nil.
 ;;; Define Iedit rect mode map
 (defvar iedit-rect-keymap
   (let ((map (make-sparse-keymap)))
-    (set-keymap-parent map iedit-occurrence-keymap-default)
+    (set-keymap-parent map iedit-occurrence-keymap)
     (define-key map (kbd "M-K") 'iedit-kill-rectangle)
     map)
   "Keymap used within overlays in Iedit-rect mode.")
diff --git a/iedit.el b/iedit.el
index 1051596b14..5afcf037b9 100644
--- a/iedit.el
+++ b/iedit.el
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2010, 2011, 2012 Victor Ren
 
-;; Time-stamp: <2016-06-10 22:29:42 Victor Ren>
+;; Time-stamp: <2016-06-11 12:23:07 Victor Ren>
 ;; Author: Victor Ren <victorhge@gmail.com>
 ;; Keywords: occurrence region simultaneous refactoring
 ;; Version: 0.97
@@ -429,7 +429,6 @@ Keymap used within overlays:
 
 (defun iedit-start (occurrence-regexp beg end)
   "Start Iedit mode for the `occurrence-regexp' in the current buffer."
-
   ;; enforce skip modification once, errors may happen to cause this to be
   ;; unset.
   (setq iedit-skip-modification-once t)



reply via email to

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