Add icons to completion candidates using the built in completion metadata functions.
This package can be used with the default completions buffer:
Or with a completion framework such as Vertico:
This package only supports Emacs version 26.1 and above.
It requires all-the-icons.
This package can be installed from MELPA, or by cloning it and putting it in the load path.
Add the following to your init-file:
(all-the-icons-completion-mode)
If you want to use it as an addon to marginalia-mode
, add the following to your init-file:
(all-the-icons-completion-mode)
(add-hook 'marginalia-mode-hook #'all-the-icons-completion-marginalia-setup)
This will ensure that it is on when marginalia-mode
is on and is off when it’s off.
Completion icons are retrieved through the generic function
all-the-icons-completion-get-icon
, with different methods per category. To add
icons for a new category or override existing behaviour, define a new method, e.g.:
(cl-defmethod all-the-icons-completion-get-icon (cand (_cat (eql custom-category)))
"Return the icon for the candidate CAND of completion category custom-category."
(get-icon-for-custom-category-cand cand))
Thanks to @minad and @noctuid for getting the ball rolling on the functions used in this package.