Jousimies/.emacs.d

corfu and corfu-doc and kind-icon

Jousimies opened this issue · 1 comments

(setq corfu-auto t)
(setq corfu-cycle t)
(setq corfu-quit-at-boundary t)
(setq corfu-auto-prefix 2)
(setq corfu-preselect-first t)
(setq corfu-quit-no-match t)
(setq completion-cycle-threshold 3)

(defun corfu-enable-always-in-minibuffer ()
  "Enable Corfu in the minibuffer if Vertico/Mct are not active."
  (unless (or (bound-and-true-p mct--active)
	  (bound-and-true-p vertico--input))
    (corfu-mode 1)))
(add-hook 'minibuffer-setup-hook #'corfu-enable-always-in-minibuffer 1)

(add-hook 'on-first-input-hook 'global-corfu-mode)
(add-hook 'on-first-input-hook 'corfu-history-mode)
(add-hook 'on-first-input-hook 'corfu-indexed-mode)
(add-hook 'corfu-mode-hook #'corfu-doc-mode)
(setq corfu-doc-delay 0.5
  corfu-doc-max-width 70
  corfu-doc-max-height 20)
(with-eval-after-load 'corfu
  (define-key corfu-map (kbd "M-p") #'corfu-doc-scroll-down)
  (define-key corfu-map (kbd "M-n") #'corfu-doc-scroll-up))
(setq kind-icon-default-face 'corfu-default)
(setq kind-icon-use-icons nil)
(with-eval-after-load 'corfu
  (add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
(add-to-list 'completion-at-point-functions #'cape-file)
(add-to-list 'completion-at-point-functions #'cape-dabbrev)
(add-to-list 'completion-at-point-functions #'cape-ispell)