From 58458f2d2abcc1211444c2060ab598f55e518da4 Mon Sep 17 00:00:00 2001 From: Koray Al Date: Sat, 1 Apr 2017 02:10:44 +0300 Subject: [PATCH] Disable paste transient state when multiple cursors are active evil-mc has no support for the 'paste transient state', hence we should fall back to the default version during that period. --- layers/+spacemacs/spacemacs-evil/packages.el | 28 +++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/layers/+spacemacs/spacemacs-evil/packages.el b/layers/+spacemacs/spacemacs-evil/packages.el index 34c5b9996..33f1e8a5d 100644 --- a/layers/+spacemacs/spacemacs-evil/packages.el +++ b/layers/+spacemacs/spacemacs-evil/packages.el @@ -107,12 +107,28 @@ (use-package evil-mc :defer t :init - ;; remove emc prefix when there is not multiple cursors - (setq evil-mc-mode-line - `(:eval (when (> (evil-mc-get-cursor-count) 1) - (format ,(propertize " %s:%d" 'face 'cursor) - evil-mc-mode-line-prefix - (evil-mc-get-cursor-count))))))) + (progn + (defun spacemacs-evil/evil-mc-paste-after (&optional count &optional register) + (interactive "p") + (if (and (eq (evil-mc-get-cursor-count) 1) dotspacemacs-enable-paste-transient-state) + (spacemacs/paste-transient-state/evil-paste-after) + (evil-paste-after count register))) + + (defun spacemacs-evil/evil-mc-paste-before (&optional count &optional register) + (interactive "p") + (if (and (eq (evil-mc-get-cursor-count) 1) dotspacemacs-enable-paste-transient-state) + (spacemacs/paste-transient-state/evil-paste-before) + (evil-paste-before count register))) + + (define-key evil-normal-state-map "p" 'spacemacs-evil/evil-mc-paste-after) + (define-key evil-normal-state-map "P" 'spacemacs-evil/evil-mc-paste-before) + + ;; remove emc prefix when there is not multiple cursors + (setq evil-mc-mode-line + `(:eval (when (> (evil-mc-get-cursor-count) 1) + (format ,(propertize " %s:%d" 'face 'cursor) + evil-mc-mode-line-prefix + (evil-mc-get-cursor-count)))))))) ;; other commenting functions in funcs.el with keybinds in keybindings.el (defun spacemacs-evil/init-evil-nerd-commenter ()