From 39b0de8736ef9d1e6995fb28d1ddffae2a2448da Mon Sep 17 00:00:00 2001 From: StrawberryTea Date: Sat, 17 Feb 2024 10:52:57 -0600 Subject: [PATCH] feat(config): make C-x corfu bindings optional For someone like me that uses the vanilla emacs commands bound to C-x C-p, C-x C-n, etc, I prefer to set the completion keybindings manually. --- modules/completion/corfu/config.el | 3 +++ modules/config/default/+evil-bindings.el | 17 +++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/modules/completion/corfu/config.el b/modules/completion/corfu/config.el index 94c992045..e8805ce2b 100644 --- a/modules/completion/corfu/config.el +++ b/modules/completion/corfu/config.el @@ -3,6 +3,9 @@ (defvar +corfu-buffer-scanning-size-limit (* 1 1024 1024) ; 1 MB "Size limit for a buffer to be scanned by `cape-dabbrev'.") +(defvar +corfu-want-C-x-bindings t + "Whether `C-x' is a completion prefix in Evil insert state.") + ;; ;;; Packages (use-package! corfu diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index c935ac948..741083f63 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -163,14 +163,15 @@ (:after corfu (:map corfu-mode-map :e "C-M-i" #'completion-at-point - (:prefix "C-x" - :i "C-l" #'cape-line - :i "C-k" #'cape-keyword - :i "C-f" #'cape-file - :i "s" #'cape-dict - :i "C-s" #'yasnippet-capf - :i "C-n" #'cape-dabbrev - :i "C-p" #'cape-history) + (:when +corfu-want-C-x-bindings + (:prefix "C-x" + :i "C-l" #'cape-line + :i "C-k" #'cape-keyword + :i "C-f" #'cape-file + :i "s" #'cape-dict + :i "C-s" #'yasnippet-capf + :i "C-n" #'cape-dabbrev + :i "C-p" #'cape-history)) (:unless (modulep! :completion corfu +tng) :i "C-SPC" #'completion-at-point :n "C-SPC" (cmd! (call-interactively #'evil-insert-state)