[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/marginalia 501a3b3 056/241: simplify marginalia--align
From: |
Stefan Monnier |
Subject: |
[elpa] externals/marginalia 501a3b3 056/241: simplify marginalia--align |
Date: |
Fri, 28 May 2021 20:48:56 -0400 (EDT) |
branch: externals/marginalia
commit 501a3b3ede145de56b5fb630bf793172bfa6174e
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
simplify marginalia--align
---
marginalia.el | 44 +++++++++++++++-----------------------------
1 file changed, 15 insertions(+), 29 deletions(-)
diff --git a/marginalia.el b/marginalia.el
index 5ca447f..51c01d4 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -204,13 +204,15 @@ determine it."
(defvar marginalia--original-category nil
"Original category reported by completion metadata.")
-(defmacro marginalia--align (&rest align)
- "Align annotations to ALIGN."
- (concat " "
- (propertize
- " "
- 'display
- `(space :align-to (- right-fringe ,@align)))))
+(defun marginalia--align (&rest strs)
+ "Align STRS at the right margin."
+ (let ((str (apply #'concat strs)))
+ (concat " "
+ (propertize
+ " "
+ 'display
+ `(space :align-to (- right-fringe ,(length str))))
+ str)))
(defsubst marginalia--separator ()
"Return separator string."
@@ -218,8 +220,7 @@ determine it."
(defun marginalia--documentation (str)
"Format documentation string STR."
- (concat
- (marginalia--align marginalia-documentation-width)
+ (marginalia--align
(propertize (marginalia--truncate str marginalia-documentation-width)
'face 'marginalia-documentation)))
@@ -265,8 +266,7 @@ This hash table is needed to speed up
`marginalia-annotate-command-binding'.")
"Annotate variable CAND with its documentation string."
(let ((sym (intern cand)))
(when-let (doc (documentation-property sym 'variable-documentation))
- (concat
- (marginalia--align marginalia-variable-width
marginalia-documentation-width)
+ (marginalia--align
(propertize (marginalia--truncate (format "%S" (if (boundp sym)
(symbol-value sym)
'unbound))
@@ -280,8 +280,7 @@ This hash table is needed to speed up
`marginalia-annotate-command-binding'.")
"Annotate face CAND with documentation string and face example."
(let ((sym (intern cand)))
(when-let (doc (documentation-property sym 'face-documentation))
- (concat
- (marginalia--align marginalia-documentation-width
marginalia-separator-width 26)
+ (marginalia--align
(propertize "abcdefghijklmNOPQRSTUVWXYZ" 'face sym)
(marginalia--separator)
(propertize (marginalia--truncate doc marginalia-documentation-width)
@@ -295,12 +294,7 @@ This hash table is needed to speed up
`marginalia-annotate-command-binding'.")
(if-let (built-in (assq pkg package--builtins))
(package--from-builtin built-in)
(car (alist-get pkg package-archive-contents))))))
- (concat
- (marginalia--align 16 ;; version
- marginalia-separator-width
- 8 ;; archive
- marginalia-separator-width
- marginalia-documentation-width)
+ (marginalia--align
(propertize (format "%-16s" (package-version-join (package-desc-version
desc)))
'face 'marginalia-version)
(marginalia--separator)
@@ -318,11 +312,7 @@ This hash table is needed to speed up
`marginalia-annotate-command-binding'.")
(defun marginalia-annotate-buffer (cand)
"Annotate buffer CAND with modification status, file name and major mode."
(when-let (buffer (get-buffer cand))
- (concat
- (marginalia--align 2 ;; modification
- 30 ;; mode
- marginalia-separator-width
- marginalia-file-name-width)
+ (marginalia--align
(if (buffer-modified-p buffer) "*" " ")
(if (buffer-local-value 'buffer-read-only buffer) "%" " ")
" "
@@ -369,11 +359,7 @@ using `minibuffer-force-complete' on the candidate CAND."
(defun marginalia-annotate-file (cand)
"Annotate file CAND with its size and modification time."
(when-let ((attributes (file-attributes (marginalia--full-candidate cand)
'string)))
- (concat
- (marginalia--align 10 marginalia-separator-width ;; modes
- 12 marginalia-separator-width ;; user:group
- 7 marginalia-separator-width ;; size
- 12) ;; date
+ (marginalia--align
(propertize (file-attribute-modes attributes)
'face 'marginalia-file-modes)
(marginalia--separator)
- [elpa] externals/marginalia 1d3af0a 219/241: Merge branch 'base-position' into main, (continued)
- [elpa] externals/marginalia 1d3af0a 219/241: Merge branch 'base-position' into main, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 7fe1a03 218/241: Fix retrieving full paths under Selectrum, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia cd28764 232/241: marginalia-annotator-registry: Use more precise type, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 624028c 235/241: Silence bytecode compiler warning regarding project-roots (Fix #79), Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia ac4ab98 227/241: Implement individual cycling per completion category (Fix #73), Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 3f33b38 238/241: Prepare submission to ELPA, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia e97979a 240/241: Remove License header, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 09aaad9 159/241: Revert "fix #46: affixation suffix must not be nil, it must be a string", Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 42977b4 162/241: add comment, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 65da400 055/241: marginalia-annotate-package: show package version, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 501a3b3 056/241: simplify marginalia--align,
Stefan Monnier <=
- [elpa] externals/marginalia 4ffd1a9 071/241: add marginalia-annotate-input-method, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 75e9e9b 070/241: add marginalia-annotate-charset, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia c940a49 236/241: Use more restricted regexp to detect remote completion, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia feca4f1 100/241: add support for project.el, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 65d6b5d 102/241: fix package annotation, Stefan Monnier, 2021/05/28
- [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