emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/minibuffer-completion-enhancements 1ab31ae0e5e 31/35: ; Align co


From: Eshel Yaron
Subject: feature/minibuffer-completion-enhancements 1ab31ae0e5e 31/35: ; Align completion annotations with spaces for multi-column format
Date: Sun, 21 Jan 2024 03:54:32 -0500 (EST)

branch: feature/minibuffer-completion-enhancements
commit 1ab31ae0e5ecf0f234edd8a7b90428778a620d03
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>

    ; Align completion annotations with spaces for multi-column format
    
    Use actual spaces to align completion annotations instead of
    "specified space" display properties, since that allows
    'completion--insert-strings' to correctly align multiple completion
    columns when 'completions-format' is not 'one-column'.
    
    * lisp/minibuffer.el (completion-styles-affixation)
    (completion-file-name-affixation): Align annotations with spaces
    instead of using '(space :align-to ...)'  display properties.
---
 lisp/minibuffer.el | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 7c027629046..0f503523817 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -2828,8 +2828,9 @@ current order instead."
              ""
              (if-let ((desc (nth 3 (assoc (intern name)
                                           completion-styles-alist))))
-                 (concat (propertize " " 'display
-                                     `(space :align-to ,(+ max-name 4)))
+                 (concat (make-string (- (+ max-name 4)
+                                         (string-width name))
+                                      ?\s)
                          (propertize
                           ;; Only use the first line.
                           (substring desc 0 (string-search "\n" desc))
@@ -3638,11 +3639,10 @@ same as `substitute-in-file-name'."
                     (concat minibuffer-completion-base file))))
          (list file ""
                (if-let ((ann (file-name-completion-annotation full)))
-                   (propertize
-                    (concat (propertize " " 'display
-                                        `(space :align-to ,(+ max-file 2)))
-                            ann)
-                    'face 'completions-annotations)
+                   (concat (make-string (- (+ max-file 2)
+                                           (string-width file))
+                                        ?\s)
+                           (propertize ann 'face 'completions-annotations))
                  ""))))
      files)))
 



reply via email to

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