diff --git a/modules/completion/corfu/autoload.el b/modules/completion/corfu/autoload.el index 841802596..589df55bb 100644 --- a/modules/completion/corfu/autoload.el +++ b/modules/completion/corfu/autoload.el @@ -10,12 +10,13 @@ ;;;###autoload (defun +corfu-move-to-minibuffer () - ;; Taken from corfu's README. - ;; TODO: extend this to other completion front-ends. + ;; Adapted from Corfu's README. (interactive) - (let ((completion-extra-properties corfu--extra) - (completion-cycle-threshold completion-cycling)) - (apply #'consult-completion-in-region completion-in-region--data))) + (pcase completion-in-region--data + (`(,beg ,end ,table ,pred . ,extras) + (let ((completion-extra-properties extras) + completion-cycle-threshold completion-cycling) + (funcall (default-value 'completion-in-region-function) beg end table pred))))) ;;;###autoload (defun +corfu-smart-sep-toggle-escape () diff --git a/modules/completion/corfu/config.el b/modules/completion/corfu/config.el index e9ecbf69c..48448b2fa 100644 --- a/modules/completion/corfu/config.el +++ b/modules/completion/corfu/config.el @@ -33,6 +33,8 @@ tab-always-indent (if (modulep! +tng) 'complete tab-always-indent)) (add-to-list 'completion-category-overrides `(lsp-capf (styles ,@completion-styles))) + (add-to-list 'corfu-continue-commands #'+corfu-move-to-minibuffer) + (add-hook! 'minibuffer-setup-hook (defun +corfu-enable-in-minibuffer () "Enable Corfu in the minibuffer if `completion-at-point' is bound." diff --git a/modules/completion/corfu/packages.el b/modules/completion/corfu/packages.el index ec9edc23f..05f2d9b98 100644 --- a/modules/completion/corfu/packages.el +++ b/modules/completion/corfu/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/corfu/packages.el -(package! corfu :pin "24dccafeea114b1aec7118f2a8405b46aa0051e0") -(package! cape :pin "18a30f48bb8754421cb10dad99e0a406173d4551") +(package! corfu :pin "b48d3017a47706198e04440cc1b3483bdf646771") +(package! cape :pin "bfde79ed440343c0dbf0f64cfe7913c1efbe3f83") (when (modulep! +icons) (package! nerd-icons-corfu :pin "7077bb76fefc15aed967476406a19dc5c2500b3c")) (when (modulep! +orderless) @@ -10,4 +10,4 @@ (when (modulep! :os tty) (package! corfu-terminal :pin "501548c3d51f926c687e8cd838c5865ec45d03cc")) (when (modulep! :editor snippets) - (package! yasnippet-capf :pin "a0a6b1c2bb6decdad5cf9b74202f0042f494a6ab")) + (package! yasnippet-capf :pin "db12b55cd08b614cbba134008566e48d7faf660e")) diff --git a/modules/editor/evil/packages.el b/modules/editor/evil/packages.el index 20c2c832e..64d8244df 100644 --- a/modules/editor/evil/packages.el +++ b/modules/editor/evil/packages.el @@ -35,4 +35,4 @@ (package! neotree) (autoload 'neotree-make-executor "neotree" nil nil 'macro)) - (package! evil-collection :pin "8be4b75c86bc637dbcd14be7522d6da06df1747e")) + (package! evil-collection :pin "8c84f9bc89fe56e71b56519f886085ddcbc671cf"))