From 83e0fd74abbb18e02019579ceb6a134c0b5bd2d7 Mon Sep 17 00:00:00 2001 From: Kien Nguyen Date: Sun, 31 Mar 2024 01:33:50 -0700 Subject: [PATCH] fix: show corfu popup when in insertable state --- modes/corfu/evil-collection-corfu.el | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modes/corfu/evil-collection-corfu.el b/modes/corfu/evil-collection-corfu.el index 8c219bd..89dafd2 100644 --- a/modes/corfu/evil-collection-corfu.el +++ b/modes/corfu/evil-collection-corfu.el @@ -71,6 +71,10 @@ This key theme variable may be refactored in the future so use with caution." (const :tag "Magic Backspace" magic-backspace)))) +(defcustom evil-collection-corfu-supported-states '(insert replace emacs) + "The `evil-state's which `corfu' function can be requested." + :type '(repeat symbol)) + ;;;###autoload (defun evil-collection-corfu-setup () "Set up `evil' bindings for `corfu'." @@ -129,7 +133,10 @@ This key theme variable may be refactored in the future so use with caution." (kbd "C-u") 'corfu-scroll-down)) (advice-add 'corfu--setup :after (lambda (&rest _) (evil-normalize-keymaps))) - (advice-add 'corfu--teardown :after (lambda (&rest _) (evil-normalize-keymaps)))) + (advice-add 'corfu--teardown :after (lambda (&rest _) (evil-normalize-keymaps))) + (advice-add 'corfu--continue-p + :before-while (lambda (&rest _) (memq evil-state evil-collection-corfu-supported-states))) + ) (provide 'evil-collection-corfu) ;;; evil-collection-corfu.el ends here