;;; init-completion.el --- Configure completion -*- lexical-binding: t -*- ;; Author: Franck Cuny ;;; Commentary: ;; Configure completions ;;; Code: (use-package consult :ensure t :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 :ensure t :custom (corfu-auto t) (corfu-auto-prefix 2) (corfu-preview-current nil) (corfu-auto-delay 0.2) (corfu-popupinfo-delay '(0.4 . 0.2)) :config (setq tab-always-indent 'complete) :custom-face (corfu-border ((t (:inherit region :background unspecified)))) :bind ("M-/" . completion-at-point) :hook ((after-init . global-corfu-mode) (global-corfu-mode . corfu-popupinfo-mode))) (use-package cape :demand t :ensure t :init (add-to-list 'completion-at-point-functions #'cape-file) (advice-add 'eglot-completion-at-point :around #'cape-wrap-buster)) (use-package marginalia :hook (after-init . marginalia-mode)) (use-package orderless :demand t :ensure t :custom (completion-styles '(orderless basic)) (completion-category-defaults nil)) (use-package vertico :ensure t :hook ((after-init . vertico-mode))) (provide 'init-completion) ;;; init-completion.el ends here