blob: 3b9ca4ebc094f61b779a72f09fd610a40136c24b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
;;; package --- Summary
;;; Commentary:
;; This loads vertico, corfu, orderless, etc.
;; All from https://github.com/minad
;;; Code:
(require 'package)
(use-package corfu
:ensure t
:custom
(corfu-cycle t)
:hook ((prog-mode . corfu-mode)
(shell-mode . corfu-mode)
(eshell-mode . corfu-mode))
:init (global-corfu-mode))
(use-package orderless
:ensure t
:init
;; Configure a custom style dispatcher (see the Consult wiki)
(setq orderless-style-dispatchers nil
orderless-component-separator #'orderless-escapable-split-on-space)
(setq completion-styles '(orderless basic)
completion-category-defaults nil
completion-category-overrides '((file (styles basic partial-completion)))))
(setq completion-styles '(orderless basic))
;; Use dabbrev with Corfu!
(use-package dabbrev
;; Swap M-/ and C-M-/
:bind (("M-/" . dabbrev-expand)
("C-M-/" . dabbrev-completion)))
;; Enable richer annotations using the Marginalia package
(use-package marginalia
:ensure t
;; Either bind `marginalia-cycle` globally or only in the minibuffer
;; :bind (("M-A" . marginalia-cycle)
;; :map minibuffer-local-map
;; ("M-A" . marginalia-cycle))
;; The :init configuration is always executed (Not lazy!)
:init
;; Must be 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 vertico
:ensure t
;; Special recipe to load extensions conveniently
:straight (vertico :files (:defaults "extensions/*")
:includes (vertico-indexed
vertico-flat
vertico-grid
vertico-mouse
vertico-quick
vertico-buffer
vertico-repeat
vertico-reverse
vertico-directory
vertico-multiform
vertico-unobtrusive
))
;; :general
;; (:keymaps 'vertico-map
;; "<tab>" #'vertico-insert ; Choose selected candidate
;; "<escape>" #'minibuffer-keyboard-quit ; Close minibuffer
;; ;; NOTE 2022-02-05: Cycle through candidate groups
;; "C-M-n" #'vertico-next-group
;; "C-M-p" #'vertico-previous-group)
:custom
(vertico-count 12) ; Number of candidates to display
(vertico-resize t)
(vertico-cycle nil) ; Go from last to first candidate and first to last (cycle)?
:config
(vertico-mode)
(vertico-reverse-mode))
(provide 'minad)
;;; minad.el ends here
|