Run hook when mc is disabled

This commit is contained in:
Johannes Lippmann
2021-11-11 13:57:23 +01:00
committed by Magnar Sveen
parent 588daf8c52
commit 4975afedb3
3 changed files with 25 additions and 8 deletions

View File

@@ -433,7 +433,9 @@ the original cursor, to inform about the lack of support."
(unless mc--executing-command-for-fake-cursor
(if (eq 1 (mc/num-cursors)) ;; no fake cursors? disable mc-mode
(multiple-cursors-mode 0)
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))
(when this-original-command
(let ((original-command (or mc--this-command
(command-remapping this-original-command)
@@ -487,7 +489,9 @@ you should disable multiple-cursors-mode."
"Deactivate mark if there are any active, otherwise exit multiple-cursors-mode."
(interactive)
(if (not (use-region-p))
(multiple-cursors-mode 0)
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))
(deactivate-mark)))
(defun mc/repeat-command ()
@@ -588,13 +592,18 @@ They are temporarily disabled when multiple-cursors are active.")
(mc/enable-temporarily-disabled-minor-modes)
(run-hooks 'multiple-cursors-mode-disabled-hook)))
(add-hook 'after-revert-hook #'(lambda () (multiple-cursors-mode 0)))
(add-hook 'after-revert-hook
#'(lambda () (progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))))
(defun mc/maybe-multiple-cursors-mode ()
"Enable multiple-cursors-mode if there is more than one currently active cursor."
(if (> (mc/num-cursors) 1)
(multiple-cursors-mode 1)
(multiple-cursors-mode 0)))
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))))
(defmacro unsupported-cmd (cmd msg)
"Adds command to list of unsupported commands and prevents it