From: Eshel Yaron Date: Tue, 14 Jun 2022 21:07:09 +0000 (+0300) Subject: Add a margin-formatter function for corfu X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2468c96563b6b47bbe6314e238fc23a5006e7c27;p=dotfiles.git Add a margin-formatter function for corfu --- diff --git a/.emacs.d/esy.org b/.emacs.d/esy.org index be922b5..fa29d1d 100644 --- a/.emacs.d/esy.org +++ b/.emacs.d/esy.org @@ -1087,10 +1087,21 @@ does in the shell. (file (buffer-substring-no-properties start end))) `(,start ,end completion--file-name-table . (:exclusive no)))))) + (defun esy/margin-formatter (metadata) + "Margin formatter for `corfu-margin-formatters'." + (pcase (cdr (assoc 'category metadata)) + ('file (lambda (string) + (concat (if (string-suffix-p "/" string) + (all-the-icons-icon-for-dir string) + (all-the-icons-icon-for-file string)) + " "))) + ('dabbrev (lambda (_) "… ")))) + (defun esy/setup-completion-at-point () "Setup `completion-at-point'." (require 'corfu) - (setq corfu-cycle t) + (setq corfu-cycle t + corfu-margin-formatters '(esy/margin-formatter)) (global-corfu-mode) (add-to-list 'completion-at-point-functions #'esy/dabbrev-capf) (add-to-list 'completion-at-point-functions #'esy/file-capf))