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.
This commit is contained in:
StrawberryTea 2024-02-28 16:25:21 -06:00 committed by Luigi Sartor Piucco
parent 2223add382
commit 1a3c973f33

View file

@ -479,12 +479,13 @@ Continues comments if executed from a commented line. Consults
"C-S-n" #'corfu-popupinfo-scroll-up "C-S-n" #'corfu-popupinfo-scroll-up
"C-S-u" (cmd! (funcall-interactively #'corfu-popupinfo-scroll-down corfu-popupinfo-min-height)) "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))) "C-S-d" (cmd! (funcall-interactively #'corfu-popupinfo-scroll-up corfu-popupinfo-min-height)))
(:map corfu-map (:when (not (modulep! :completion corfu +tng))
"C-<return>" `(menu-item "Conclude the minibuffer" exit-minibuffer (:map corfu-map
:filter ,(lambda (cmd) (when (minibufferp nil t) cmd))) "C-<return>" `(menu-item "Conclude the minibuffer" exit-minibuffer
"S-<return>" `(menu-item "Insert completion and conclude" :filter ,(lambda (cmd) (when (minibufferp nil t) cmd)))
+corfu-complete-and-exit-minibuffer "S-<return>" `(menu-item "Insert completion and conclude"
:filter ,(lambda (cmd) (when (minibufferp nil t) cmd))))) +corfu-complete-and-exit-minibuffer
:filter ,(lambda (cmd) (when (minibufferp nil t) cmd))))))
(when-let ((cmds-del (and (modulep! :completion corfu +tng) (when-let ((cmds-del (and (modulep! :completion corfu +tng)
`(menu-item "Reset completion" corfu-reset `(menu-item "Reset completion" corfu-reset
:filter ,(lambda (cmd) :filter ,(lambda (cmd)
@ -493,9 +494,15 @@ Continues comments if executed from a commented line. Consults
cmd))))) cmd)))))
(cmds-ret `(menu-item "Insert completion" corfu-insert (cmds-ret `(menu-item "Insert completion" corfu-insert
:filter ,(lambda (cmd) :filter ,(lambda (cmd)
(if (eq corfu--index -1) (cond ((eq corfu--index -1)
(corfu-quit) (corfu-quit))
cmd))))) ((and (modulep! :completion corfu +tng)
(eq corfu-preview-current 'insert)
(minibufferp nil t))
(corfu-insert)
nil)
(t
cmd))))))
(map! :when (modulep! :completion corfu) (map! :when (modulep! :completion corfu)
:after corfu :after corfu
:map corfu-map :map corfu-map