emacs-elpa-diffs
[Top][All Lists]
Advanced

[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)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]