[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/marginalia c66d301dd1: Simplify alignment code
From: |
ELPA Syncer |
Subject: |
[elpa] externals/marginalia c66d301dd1: Simplify alignment code |
Date: |
Fri, 14 Jan 2022 16:57:38 -0500 (EST) |
branch: externals/marginalia
commit c66d301dd12e0346cbc6756895c6cfcf17d3e8ae
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Simplify alignment code
---
marginalia.el | 33 +++++++++++++++------------------
1 file changed, 15 insertions(+), 18 deletions(-)
diff --git a/marginalia.el b/marginalia.el
index d32e2f54c3..7b0a8dde3a 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -1087,30 +1087,27 @@ Selectrum."
(defun marginalia--align (cands)
"Align annotations of CANDS according to `marginalia-align'."
- (setq cands
- (cl-loop for (cand . ann) in cands collect
- (let ((annw (1- (string-width ann))))
- (when-let (align (text-property-any 0 (length ann)
'marginalia--align t ann))
- (let ((suffix-width (string-width (substring ann 0
align))))
- (cl-decf annw suffix-width)
- (setq marginalia--candw-max
- (max marginalia--candw-max
- (+ (string-width cand) suffix-width)))))
- `(,cand ,ann . ,annw))))
- (setq marginalia--candw-max
- (* (ceiling marginalia--candw-max
- marginalia--candw-step)
- marginalia--candw-step))
- (cl-loop for (cand ann . annw) in cands collect
+ (cl-loop for (cand . ann) in cands do
+ (when-let (align (text-property-any 0 (length ann)
'marginalia--align t ann))
+ (setq marginalia--candw-max
+ (max marginalia--candw-max
+ (+ (string-width cand)
+ (string-width (substring ann 0 align)))))))
+ (setq marginalia--candw-max (* (ceiling marginalia--candw-max
+ marginalia--candw-step)
+ marginalia--candw-step))
+ (cl-loop for (cand . ann) in cands collect
(progn
(when-let (align (text-property-any 0 (length ann)
'marginalia--align t ann))
(put-text-property
align (1+ align) 'display
`(space :align-to
,(pcase-exhaustive marginalia-align
- ('center `(+ center ,marginalia-align-offset))
- ('left `(+ left ,marginalia-align-offset
,marginalia--candw-max))
- ('right `(+ right ,marginalia-align-offset ,(-
annw)))))
+ ('center `(+ center ,marginalia-align-offset))
+ ('left `(+ left ,(+ marginalia-align-offset
marginalia--candw-max)))
+ ('right `(+ right ,(+ marginalia-align-offset 1
+ (- (string-width (substring
ann 0 align))
+ (string-width ann)))))))
ann))
(list cand "" ann))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/marginalia c66d301dd1: Simplify alignment code,
ELPA Syncer <=