Function: marginalia--align

marginalia--align is a byte-compiled function defined in marginalia.el.

Signature

(marginalia--align CANDS)

Documentation

Align annotations of CANDS according to marginalia-align.

Source Code

;; Defined in ~/.emacs.d/elpa/marginalia-20260724.810/marginalia.el
(defun marginalia--align (cands)
  "Align annotations of CANDS according to `marginalia-align'."
  (cl-loop
   for (cand . ann) in cands do
   (when-let* ((align (text-property-any 0 (length ann) 'marginalia--align t ann)))
     (setq marginalia--cand-width-max
           (max marginalia--cand-width-max
                (* (ceiling (+ (string-width cand) (string-width ann 0 align))
                            marginalia--cand-width-step)
                   marginalia--cand-width-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--cand-width-max)))
                   ('right `(+ right ,(+ marginalia-align-offset 1
                                         (- (string-width ann 0 align)
                                            (string-width ann)))))))
        ann))
     (list cand "" ann))))