68 lines
1.9 KiB
EmacsLisp
68 lines
1.9 KiB
EmacsLisp
;;; init-completion.el --- Completion settings -*- lexical-binding: t -*-
|
|
;;; Commentary:
|
|
|
|
;;; Code:
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; which-key
|
|
(use-package which-key
|
|
:config
|
|
(which-key-mode 1))
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; vertico
|
|
;; performant and minimalistic vertical completion UI based on the default completion system
|
|
;; Persist history over Emacs restarts. Vertico sorts by history position.
|
|
(use-package savehist
|
|
:init
|
|
(savehist-mode))
|
|
|
|
(use-package vertico
|
|
:init
|
|
(vertico-mode)
|
|
|
|
;; Different scroll margin
|
|
(setq vertico-scroll-margin 0)
|
|
;; Show more candidates
|
|
(setq vertico-count 20)
|
|
;; Grow and shrink the Vertico minibuffer
|
|
(setq vertico-resize t)
|
|
;; Optionally enable cycling for `vertico-next' and `vertico-previous'.
|
|
(setq vertico-cycle t)
|
|
)
|
|
|
|
(use-package orderless
|
|
:custom
|
|
(completion-styles '(orderless basic))
|
|
(completion-category-overrides '((file (styles basic partial-completion)))))
|
|
|
|
(use-package marginalia
|
|
;; Bind `marginalia-cycle' locally in the minibuffer. To make the binding
|
|
;; available in the *Completions* buffer, add it to the
|
|
;; `completion-list-mode-map'.
|
|
:bind (:map minibuffer-local-map
|
|
("M-A" . marginalia-cycle))
|
|
|
|
;; The :init section is always executed.
|
|
:init
|
|
|
|
;; Marginalia must be activated in the :init section of use-package such that
|
|
;; the mode gets enabled right away. Note that this forces loading the
|
|
;; package.
|
|
(marginalia-mode))
|
|
|
|
(use-package nerd-icons-completion
|
|
:after marginalia
|
|
:config
|
|
(nerd-icons-completion-mode)
|
|
(add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup))
|
|
|
|
;; Enhance M-x
|
|
(use-package amx
|
|
:init
|
|
(setq amx-history-length 20))
|
|
|
|
(provide 'init-completion)
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;; init-completion.el ends here
|