[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/marginalia 6567947 050/241: marginalia-annotate-command
From: |
Stefan Monnier |
Subject: |
[elpa] externals/marginalia 6567947 050/241: marginalia-annotate-command-binding: use a hash table per buffer |
Date: |
Fri, 28 May 2021 20:48:54 -0400 (EDT) |
branch: externals/marginalia
commit 65679471c229385a19cf40e9ed3949d5df7b151b
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
marginalia-annotate-command-binding: use a hash table per buffer
---
marginalia.el | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/marginalia.el b/marginalia.el
index 5122740..78f4007 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -217,18 +217,20 @@ determine it."
"Truncate string STR to WIDTH."
(truncate-string-to-width (car (split-string str "\n")) width 0 32 "…"))
-(defvar marginalia-annotate-command-binding--init nil)
+(defvar-local marginalia-annotate-command-binding--hash nil)
(defun marginalia-annotate-command-binding (cand)
"Annotate command CAND with keybinding."
- (unless marginalia-annotate-command-binding--init
- (setq marginalia-annotate-command-binding--init t)
- (cl-do-all-symbols (sym)
- (when (commandp sym)
- (when-let (key (where-is-internal sym nil t))
- (put sym 'marginalia--cached-binding
- (propertize (format " (%s)" (key-description key))
- 'face 'marginalia-key))))))
- (get (intern cand) 'marginalia--cached-binding))
+ (with-current-buffer (window-buffer (minibuffer-selected-window))
+ (unless marginalia-annotate-command-binding--hash
+ (setq marginalia-annotate-command-binding--hash (make-hash-table))
+ (cl-do-all-symbols (sym)
+ (when (commandp sym)
+ (when-let (key (where-is-internal sym nil t))
+ (puthash sym
+ (propertize (format " (%s)" (key-description key))
+ 'face 'marginalia-key)
+ marginalia-annotate-command-binding--hash)))))
+ (gethash (intern cand) marginalia-annotate-command-binding--hash)))
(defun marginalia-annotate-command-full (cand)
"Annotate command CAND with the keybinding and its documentation string."
- [elpa] externals/marginalia d2b43ed 189/241: Use project-roots (project-root is Emacs 28), (continued)
- [elpa] externals/marginalia d2b43ed 189/241: Use project-roots (project-root is Emacs 28), Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 321feea 196/241: Increase marginalia-margin-threshold, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 1a65026 195/241: marginalia-annotate-buffer: Truncate mode-name to fix alignment, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 9d7f17f 199/241: Add marginalia-annotate-color (Fix #64), Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia b1e5139 226/241: README: Add contributions section, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 2437a6f 230/241: marginalia-cycle: Check for affixation-function, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 844233c 239/241: Update readme, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia a78a4b3 149/241: fix headline, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 6c8b158 030/241: add license, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia f7adb62 044/241: fix #14, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 6567947 050/241: marginalia-annotate-command-binding: use a hash table per buffer,
Stefan Monnier <=
- [elpa] externals/marginalia 1077dba 123/241: update comment, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 54a61c7 137/241: update marginalia comment, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 35a42dc 142/241: improve buffer directory annotation, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 909b731 160/241: fix #42 - wrapping/alignment problem at the right margin, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia c5e89cf 168/241: describe-symbol: add indicator for obsolete variables/functions, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia d489f4c 171/241: fix #55, use string-width instead of length for alignment, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 7a0c2c6 173/241: marginalia-cycle: remove minibuffer local behavior, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 86c0461 180/241: consult-multi annotator should delegate to original annotation function, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 2f977a1 181/241: readme: add illustration, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia e741b24 194/241: Version 0.4, Stefan Monnier, 2021/05/28