From 1a3c973f334f15ca9cdaa993f8911201afbdea05 Mon Sep 17 00:00:00 2001 From: StrawberryTea Date: Wed, 28 Feb 2024 16:25:21 -0600 Subject: [PATCH] feat(config): modify smart-ret in +tng minibuffer If we are using +tng, we can make RET always exit the minibuffer. This has the downside of not being able to insert snippets, but no one writes snippets for the minibuffer anyway. --- modules/config/default/config.el | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/modules/config/default/config.el b/modules/config/default/config.el index 260c9abd3..fa98a80a8 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -479,12 +479,13 @@ Continues comments if executed from a commented line. Consults "C-S-n" #'corfu-popupinfo-scroll-up "C-S-u" (cmd! (funcall-interactively #'corfu-popupinfo-scroll-down corfu-popupinfo-min-height)) "C-S-d" (cmd! (funcall-interactively #'corfu-popupinfo-scroll-up corfu-popupinfo-min-height))) - (:map corfu-map - "C-" `(menu-item "Conclude the minibuffer" exit-minibuffer - :filter ,(lambda (cmd) (when (minibufferp nil t) cmd))) - "S-" `(menu-item "Insert completion and conclude" - +corfu-complete-and-exit-minibuffer - :filter ,(lambda (cmd) (when (minibufferp nil t) cmd))))) + (:when (not (modulep! :completion corfu +tng)) + (:map corfu-map + "C-" `(menu-item "Conclude the minibuffer" exit-minibuffer + :filter ,(lambda (cmd) (when (minibufferp nil t) cmd))) + "S-" `(menu-item "Insert completion and conclude" + +corfu-complete-and-exit-minibuffer + :filter ,(lambda (cmd) (when (minibufferp nil t) cmd)))))) (when-let ((cmds-del (and (modulep! :completion corfu +tng) `(menu-item "Reset completion" corfu-reset :filter ,(lambda (cmd) @@ -493,9 +494,15 @@ Continues comments if executed from a commented line. Consults cmd))))) (cmds-ret `(menu-item "Insert completion" corfu-insert :filter ,(lambda (cmd) - (if (eq corfu--index -1) - (corfu-quit) - cmd))))) + (cond ((eq corfu--index -1) + (corfu-quit)) + ((and (modulep! :completion corfu +tng) + (eq corfu-preview-current 'insert) + (minibufferp nil t)) + (corfu-insert) + nil) + (t + cmd)))))) (map! :when (modulep! :completion corfu) :after corfu :map corfu-map