From 2f696ff5c51e050580fd35fc2cc08baf854b6a4e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 24 Feb 2020 20:16:54 -0500 Subject: [PATCH] Temp fix #2446: yy in magit when evil-want-Y-yank-or-eol --- modules/tools/magit/config.el | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/modules/tools/magit/config.el b/modules/tools/magit/config.el index 8205a4aa3..d16d1b198 100644 --- a/modules/tools/magit/config.el +++ b/modules/tools/magit/config.el @@ -172,4 +172,21 @@ ensure it is built when we actually use Forge." (setcar desc (cdr key)))) (evil-define-key* evil-magit-state git-rebase-mode-map "gj" #'git-rebase-move-line-down - "gk" #'git-rebase-move-line-up))) + "gk" #'git-rebase-move-line-up)) + + ;; HACK Temporarily fix hlissner/doom-emacs#2446. evil-magit binds yy to + ;; evil-yank-line. This command is what Y is bound to in normal mode and + ;; it respects evil-want-Y-yank-to-eol, which is set to t by default (the + ;; default behavior in vim). + (evil-define-operator evil-magit-yank (beg end type register) + :motion evil-line-or-visual-line + :move-point nil + (interactive "") + (evil-yank beg end type register)) + (evil-magit-define-key 'normal 'magit-mode-map "yy" #'evil-magit-yank) + (after! evil-goggles + (pushnew! evil-goggles--commands + '(evil-magit-yank + :face evil-goggles-yank-face + :switch evil-goggles-enable-yank + :advice evil-goggles--generic-async-advice))))