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-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-<return>" `(menu-item "Conclude the minibuffer" exit-minibuffer
:filter ,(lambda (cmd) (when (minibufferp nil t) cmd)))
"S-<return>" `(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-<return>" `(menu-item "Conclude the minibuffer" exit-minibuffer
:filter ,(lambda (cmd) (when (minibufferp nil t) cmd)))
"S-<return>" `(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