blob: 0f79f10881c35ec000ffb7a832e38dd9f1e5d7d7 (
plain) (
tree)
|
|
;;; init-completion.el --- Configure completion -*- lexical-binding: t -*-
;; Author: Franck Cuny <franck@fcuny.net>
;;; Commentary:
;; Configure completions
;;; Code:
(use-package consult
:commands (consult-ripgrep consult-buffer consult-imenu)
:bind (("C-c m" . consult-mode-command)
("C-x b" . consult-buffer)
("C-x r b" . consult-bookmark)
("C-x p b" . consult-project-buffer)
("C-c i" . consult-imenu)
("M-g e" . consult-compile-error)
("M-g M-g" . consult-goto-line)
("M-g m" . consult-mark)
("M-g k" . consult-global-mark)))
(use-package corfu
:custom
(corfu-auto t)
:bind ("M-/" . completion-at-point)
:hook ((after-init . global-corfu-mode)
(global-corfu-mode . corfu-popupinfo-mode)
(eshell-mode-hook . (lambda ()
(setq-local corfu-quit-at-boundary t
corfu-quit-no-match t
corfu-auto nil)
(corfu-mode 1))))
:custom
;; Disable Ispell completion function. As an alternative try `cape-dict'.
(text-mode-ispell-word-completion nil))
(use-package cape
:bind ("C-c p" . cape-prefix-map)
:init
(add-hook 'completion-at-point-functions #'cape-file)
(add-hook 'completion-at-point-functions #'cape-dict))
(use-package marginalia
:hook (after-init . marginalia-mode))
(use-package orderless
:custom
(completion-styles '(orderless basic))
(completion-category-defaults nil))
(use-package vertico
:ensure t
:hook ((after-init . vertico-mode)))
(use-package consult-imenu
:after (consult))
(use-package corfu-popupinfo
:after corfu
:hook (corfu-mode . corfu-popupinfo-mode)
:custom
(corfu-popupinfo-delay '(0.25 . 0.1))
(corfu-popupinfo-hide nil))
(provide 'init-completion)
;;; init-completion.el ends here
|