[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/marginalia 7394690 078/241: add marginalia-annotate-vir
From: |
Stefan Monnier |
Subject: |
[elpa] externals/marginalia 7394690 078/241: add marginalia-annotate-virtual-buffer for consult-buffer |
Date: |
Fri, 28 May 2021 20:49:00 -0400 (EDT) |
branch: externals/marginalia
commit 739469015cfccd3dba6a66aaaa3163a996b00f26
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
add marginalia-annotate-virtual-buffer for consult-buffer
This is consult specific. If more consult specific annotations
come up, we might move them to some separate consult-marginalia package.
But right now, having the annotators here does not hurt.
---
marginalia.el | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/marginalia.el b/marginalia.el
index 1f323e1..97ee258 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -153,7 +153,8 @@ only with the annotations that come with Emacs) without
disabling
(input-method . marginalia-annotate-input-method)
(coding-system . marginalia-annotate-coding-system)
(charset . marginalia-annotate-charset)
- (package . marginalia-annotate-package))
+ (package . marginalia-annotate-package)
+ (virtual-buffer . marginalia-annotate-virtual-buffer-class))
"Lightweight annotator functions.
Associates completion categories with annotation functions.
Each annotation function must return a string,
@@ -166,6 +167,7 @@ See also `marginalia-annotators-heavy'."
(append
'((file . marginalia-annotate-file)
(buffer . marginalia-annotate-buffer)
+ (virtual-buffer . marginalia-annotate-virtual-buffer-full)
(command . marginalia-annotate-command-full))
marginalia-annotators-light)
"Heavy annotator functions.
@@ -296,6 +298,26 @@ This hash table is needed to speed up
`marginalia-annotate-command-binding'.")
(marginalia-annotate-command-binding cand)
(marginalia-annotate-symbol cand)))
+;; This annotator is consult-specific, it will annotate the `consult-buffer'
command.
+(defun marginalia-annotate-virtual-buffer-class (cand)
+ "Annotate virtual-buffer CAND with the buffer class."
+ (marginalia--fields
+ ((pcase (elt cand 0)
+ (?b "Buffer")
+ (?f "File")
+ (?m "Bookmark")
+ (?v "View"))
+ :width -8 :face 'marginalia-documentation)))
+
+;; This annotator is consult-specific, it will annotate the `consult-buffer'
command.
+(defun marginalia-annotate-virtual-buffer-full (cand)
+ "Annotate virtual-buffer CAND with the buffer class."
+ (let ((cand-without-prefix (replace-regexp-in-string "^[^ ]+ " "" cand)))
+ (pcase (elt cand 0)
+ (?b (marginalia-annotate-buffer cand-without-prefix))
+ (?f (marginalia-annotate-file cand-without-prefix))
+ (_ (marginalia-annotate-virtual-buffer-class cand)))))
+
(defconst marginalia--advice-regexp
(rx bos
(1+ (seq (? "This function has ")
@@ -402,7 +424,7 @@ This hash table is needed to speed up
`marginalia-annotate-command-binding'.")
((buffer-local-value 'major-mode buffer) :width 30 :face 'marginalia-mode)
((if-let (file (buffer-file-name buffer))
(abbreviate-file-name file) "")
- :truncate marginalia-truncate-width
+ :truncate (/ marginalia-truncate-width 2)
:face 'marginalia-file-name))))
;; At some point we might want to revisit how this function is implemented.
Maybe we come up with a
- [elpa] externals/marginalia 7df0e53 177/241: Add marginalia-bookmark-type-transformers, (continued)
- [elpa] externals/marginalia 7df0e53 177/241: Add marginalia-bookmark-type-transformers, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 2b926ae 190/241: Avoid annotations for host and remote path completions, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia e4b3fcd 191/241: marginalia--remote-p: handle shadow paths, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 3210152 033/241: add comment to marginalia--full-candidate, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia f9ca52c 032/241: Fallback for when full candidate is requested outside of minibuffer, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 6789da8 034/241: fix typo in marginalia-set-command-annotator, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia f39556b 043/241: fix marginalia--full-candidate for selectrum, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia fe5d5db 047/241: add faces: marginalia-file-modes, marginalia-file-owner, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 2eec2dc 060/241: fix warnings, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia d0afe4a 068/241: add melpa badge, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 7394690 078/241: add marginalia-annotate-virtual-buffer for consult-buffer,
Stefan Monnier <=
- [elpa] externals/marginalia 091895b 092/241: fix #23, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 331b24a 093/241: check default-boundp too, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 2864c8e 105/241: fix #31, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 5052240 114/241: annotate-buffer: use mode-name instead of major-mode, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia c1296db 108/241: introduce marginalia-margin-min, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia db18b0e 152/241: Add support for hidden consult buffers, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 6057427 164/241: autocompute marginalia-align-offset if it is not overwritten, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 206518b 163/241: add marginalia-align-offset, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia a5ce6aa 207/241: Work around `completion-boundaries' bug in Emacs 27.1, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia e41d939 206/241: Revert "Go back and use full minibuffer-contents for marginalia--full-file", Stefan Monnier, 2021/05/28