[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient 92e8952ede 2/5: transient-prefix: Add column-
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient 92e8952ede 2/5: transient-prefix: Add column-width slot |
Date: |
Thu, 1 Feb 2024 21:49:03 -0500 (EST) |
branch: externals/transient
commit 92e8952ede2ef420ca52881ab6ebee653786a8ef
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
transient-prefix: Add column-width slot
This is only respected inside `transient-columns' groups and allows
aligning columns across separate instances of that.
---
lisp/transient.el | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/lisp/transient.el b/lisp/transient.el
index 6958b024f2..d11a24b7a2 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -674,6 +674,7 @@ If `transient-save-history' is nil, then do nothing."
(incompatible :initarg :incompatible :initform nil)
(suffix-description :initarg :suffix-description)
(variable-pitch :initarg :variable-pitch :initform nil)
+ (column-widths :initarg :column-widths :initform nil)
(unwind-suffix :documentation "Internal use." :initform nil))
"Transient prefix command.
@@ -3680,10 +3681,15 @@ have a history of their own.")
transient-align-variable-pitch))
(rs (apply #'max (mapcar #'length columns)))
(cs (length columns))
- (cw (mapcar (lambda (col)
- (apply #'max
- (mapcar (if vp #'transient--pixel-width #'length)
- col)))
+ (cw (mapcar (let ((widths (oref transient--prefix column-widths)))
+ (lambda (col)
+ (apply
+ #'max
+ (if-let ((min (pop widths)))
+ (if vp (* min (transient--pixel-width " ")) min)
+ 0)
+ (mapcar (if vp #'transient--pixel-width #'length)
+ col))))
columns))
(cc (transient--seq-reductions-from
(apply-partially #'+ (* 3 (if vp (transient--pixel-width " ")
1)))