[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/marginalia 597186d 065/241: add marginalia-annotate-min
From: |
Stefan Monnier |
Subject: |
[elpa] externals/marginalia 597186d 065/241: add marginalia-annotate-minor-mode |
Date: |
Fri, 28 May 2021 20:48:57 -0400 (EDT) |
branch: externals/marginalia
commit 597186dad0952b808aa5b3a7715a0268ad00e35b
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
add marginalia-annotate-minor-mode
* Works with describe-minor-mode, minor-mode-menu-from-indicator and
consult-minor-mode-menu
* See
https://github.com/minad/consult/commit/d7212861b3245e0ceb09009652698379c9465da3
---
marginalia.el | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/marginalia.el b/marginalia.el
index 763ed12..20f5883 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -44,6 +44,21 @@
"Face used to highlight keys in `marginalia-mode'."
:group 'marginalia)
+(defface marginalia-lighter
+ '((t :inherit marginalia-size))
+ "Face used to highlight lighters in `marginalia-mode'."
+ :group 'marginalia)
+
+(defface marginalia-on
+ '((t :inherit success))
+ "Face used to signal enabled modes."
+ :group 'marginalia)
+
+(defface marginalia-off
+ '((t :inherit error))
+ "Face used to signal disabled modes."
+ :group 'marginalia)
+
(defface marginalia-documentation
'((t :inherit completions-annotations))
"Face used to highlight documentation string in `marginalia-mode'."
@@ -122,6 +137,7 @@ only with the annotations that come with Emacs) without
disabling
(customize-group . marginalia-annotate-customize-group)
(variable . marginalia-annotate-variable)
(face . marginalia-annotate-face)
+ (minor-mode . marginalia-annotate-minor-mode)
(symbol . marginalia-annotate-symbol)
(variable . marginalia-annotate-variable)
(package . marginalia-annotate-package))
@@ -165,7 +181,8 @@ determine it."
("\\<M-x\\>" . command)
("\\<package\\>" . package)
("\\<face\\>" . face)
- ("\\<variable\\>" . variable))
+ ("\\<variable\\>" . variable)
+ ("\\<minor mode\\>" . minor-mode))
"Associates regexps to match against minibuffer prompts with categories."
:type '(alist :key-type regexp :value-type symbol)
:group 'marginalia)
@@ -288,6 +305,25 @@ This hash table is needed to speed up
`marginalia-annotate-command-binding'.")
("abcdefghijklmNOPQRSTUVWXYZ" :face sym)
(doc :truncate marginalia-truncate-width :face
'marginalia-documentation)))))
+(defun marginalia-annotate-minor-mode (cand)
+ "Annotate minor-mode CAND with status and documentation string."
+ (let* ((ind
+ (with-selected-window
+ (or (minibuffer-selected-window) (selected-window))
+ (lookup-minor-mode-from-indicator cand)))
+ (mode (or ind (intern cand)))
+ (lighter (cdr (assq mode minor-mode-alist)))
+ (lighter-str (and lighter (string-trim (format-mode-line (cons t
lighter))))))
+ (concat
+ (marginalia--fields
+ ((if (and (boundp mode) (symbol-value mode))
+ (propertize "On" 'face 'marginalia-on)
+ (propertize "Off" 'face 'marginalia-off)) :width 3)
+ ((or lighter-str "") :width 10 :face 'marginalia-lighter)
+ ((or (ignore-errors (documentation mode)) "")
+ :truncate marginalia-truncate-width
+ :face 'marginalia-documentation)))))
+
(defun marginalia-annotate-package (cand)
"Annotate package CAND with its description summary."
(when-let* ((pkg (intern (replace-regexp-in-string "-[[:digit:]\\.-]+$" ""
cand)))
- [elpa] externals/marginalia c05face 042/241: Improve marginalia-toggle-annotators if invoked from minibuffer, (continued)
- [elpa] externals/marginalia c05face 042/241: Improve marginalia-toggle-annotators if invoked from minibuffer, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 59d65af 018/241: Add basic classifiers: orginal category, symbols, by words in prompt, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 0f1e763 025/241: rename some variables for consistency, update readme, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia cd95c65 028/241: buffer annotation: add read-only status, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 675e680 036/241: improve annotator defcustoms, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 8be2daf 046/241: marginalia-annotate-file: remove unnecessary offset which only costs space for no reason, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia c8c3f87 045/241: Rename toggle -> cycle, improve documenation, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 1269445 049/241: marginalia-annotate-command-binding: cache key binding, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 376ccc5 048/241: Revert "fix marginalia--full-candidate for selectrum", Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia ccefc57 052/241: marginalia-annotate-command-binding: add comment, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 597186d 065/241: add marginalia-annotate-minor-mode,
Stefan Monnier <=
- [elpa] externals/marginalia 14dce57 062/241: scale field widths such that annotations look better on smaller windows, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 7d3719d 074/241: Fix advice skipping regexp for older Emacsen, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 5373a26 076/241: add marginalia-modified face, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia c0460b6 085/241: classify environment variable, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 9d2f319 080/241: marginalia-annotate-variable: add modification indicator, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 9f1b63b 086/241: add symbol class characters from Emacs 28, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 74603c0 091/241: use mapatoms to fix the harmless unused variable warning, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 88ba686 090/241: remove unnecessary :group specification, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 6cd9768 098/241: minor optimization to marginalia--function-doc, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 4ac0f1f 096/241: rename variable, Stefan Monnier, 2021/05/28