introduce function mc/disable-multiple-cursors-mode

This commit is contained in:
Johannes Lippmann 2021-11-11 14:34:17 +01:00 committed by Magnar Sveen
parent 4975afedb3
commit b139bb6b30
3 changed files with 13 additions and 24 deletions

View File

@ -355,9 +355,7 @@ With zero ARG, skip the last one and mark next."
(when point-first (exchange-point-and-mark)))))
(if (> (mc/num-cursors) 1)
(multiple-cursors-mode 1)
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))))
(mc/disable-multiple-cursors-mode)))
(defun mc--select-thing-at-point (thing)
(let ((bound (bounds-of-thing-at-point thing)))
@ -404,9 +402,7 @@ With zero ARG, skip the last one and mark next."
(mc/pop-state-from-overlay first)))
(if (> (mc/num-cursors) 1)
(multiple-cursors-mode 1)
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook)))))))
(mc/disable-multiple-cursors-mode))))))
;;;###autoload
(defun mc/mark-all-in-region-regexp (beg end)
@ -431,9 +427,7 @@ With zero ARG, skip the last one and mark next."
(error "Search failed for %S" search)))
(goto-char (match-end 0))
(if (< (mc/num-cursors) 3)
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))
(mc/disable-multiple-cursors-mode)
(mc/pop-state-from-overlay (mc/furthest-cursor-before-point))
(multiple-cursors-mode 1))))))

View File

@ -106,8 +106,7 @@
(progn
(mc/mark-next-lines 1)
(mc/reverse-regions)
(multiple-cursors-mode 0)
(multiple-cursors-mode-disabled-hook)
(mc/disable-multiple-cursors-mode)
)
(unless (use-region-p)
(mc/execute-command-for-all-cursors 'mark-sexp))

View File

@ -433,9 +433,7 @@ 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
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))
(mc/disable-multiple-cursors-mode)
(when this-original-command
(let ((original-command (or mc--this-command
(command-remapping this-original-command)
@ -489,9 +487,7 @@ you should disable multiple-cursors-mode."
"Deactivate mark if there are any active, otherwise exit multiple-cursors-mode."
(interactive)
(if (not (use-region-p))
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))
(mc/disable-multiple-cursors-mode)
(deactivate-mark)))
(defun mc/repeat-command ()
@ -592,18 +588,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 () (progn
(defun mc/disable-multiple-cursors-mode ()
"Disable multiple-cursors-mode and run the corresponding hook."
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))))
(run-hooks 'multiple-cursors-mode-disabled-hook))
(add-hook 'after-revert-hook 'mc/disable-multiple-cursors-mode)
(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)
(progn
(multiple-cursors-mode 0)
(run-hooks 'multiple-cursors-mode-disabled-hook))))
(mc/disable-multiple-cursors-mode)))
(defmacro unsupported-cmd (cmd msg)
"Adds command to list of unsupported commands and prevents it