default: add omnicompletion bindings to minibuffer

This commit adds omnicompletion bindings to the minibuffer. This is only
done for Corfu because we do not currently enable Company in the
minibuffer. This is primarily because sometimes I want to insert a file
name into the minibuffer and want to do so with C-x C-f. If you have any
suggestions on improving this, please comment below. Not all the
bindings are added, because some of them do not make sense in the
minibuffer unless you wrap them with special forms.
This commit is contained in:
StrawberryTea 2025-01-30 16:49:31 -05:00
parent 2bc052425c
commit 0c603895a3
3 changed files with 30 additions and 16 deletions

View file

@ -31,6 +31,21 @@ and Emacs states, and for non-evil users.")
(defvar doom-leader-map (make-sparse-keymap) (defvar doom-leader-map (make-sparse-keymap)
"An overriding keymap for <leader> keys.") "An overriding keymap for <leader> keys.")
(defvar doom-minibuffer-maps
(append '(minibuffer-local-map
minibuffer-local-ns-map
minibuffer-local-completion-map
minibuffer-local-must-match-map
minibuffer-local-isearch-map
read-expression-map)
(cond ((modulep! :completion ivy)
'(ivy-minibuffer-map
ivy-switch-buffer-map))
((modulep! :completion helm)
'(helm-map
helm-rg-map
helm-read-file-map))))
"A list of all the keymaps used for the minibuffer.")
;; ;;
;;; Global keybind settings ;;; Global keybind settings

View file

@ -3,22 +3,7 @@
(defvar +default-want-RET-continue-comments t (defvar +default-want-RET-continue-comments t
"If non-nil, RET will continue commented lines.") "If non-nil, RET will continue commented lines.")
(defvar +default-minibuffer-maps (defvaralias '+default-minibuffer-maps 'doom-minibuffer-maps)
(append '(minibuffer-local-map
minibuffer-local-ns-map
minibuffer-local-completion-map
minibuffer-local-must-match-map
minibuffer-local-isearch-map
read-expression-map)
(cond ((modulep! :completion ivy)
'(ivy-minibuffer-map
ivy-switch-buffer-map))
((modulep! :completion helm)
'(helm-map
helm-rg-map
helm-read-file-map))))
"A list of all the keymaps used for the minibuffer.")
;; ;;
;;; Reasonable defaults ;;; Reasonable defaults

View file

@ -581,3 +581,17 @@ directives. By default, this only recognizes C directives.")
:i "C-o" #'completion-at-point :i "C-o" #'completion-at-point
:i "C-n" #'cape-dabbrev :i "C-n" #'cape-dabbrev
:i "C-p" #'+corfu/dabbrev-this-buffer)))) :i "C-p" #'+corfu/dabbrev-this-buffer))))
(unless evil-disable-insert-state-bindings
(when (modulep! :completion corfu)
(define-key!
:keymaps (append doom-minibuffer-maps
(when (modulep! :editor evil +everywhere)
'(evil-ex-completion-map)))
"C-x C-f" #'cape-file
"C-x s" #'cape-dict
"C-x C-s" #'yasnippet-capf
"C-x C-o" #'completion-at-point
"C-x C-n" #'cape-dabbrev
"C-x C-p" #'+corfu/dabbrev-this-buffer)))