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

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

[elpa] master 57a57d1 302/399: swiper.el (swiper--multi-candidates): Sim


From: Oleh Krehel
Subject: [elpa] master 57a57d1 302/399: swiper.el (swiper--multi-candidates): Simplify
Date: Sat, 20 Jul 2019 14:57:45 -0400 (EDT)

branch: master
commit 57a57d1457ea68a8dd979a8f6db5a31d13311a32
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    swiper.el (swiper--multi-candidates): Simplify
    
    `swiper--all-format-function' does the formatting.
    
    Fixes #2101
    Fixes #2102
---
 swiper.el | 42 +++++++++++-------------------------------
 1 file changed, 11 insertions(+), 31 deletions(-)

diff --git a/swiper.el b/swiper.el
index db5f037..e03af5e 100644
--- a/swiper.el
+++ b/swiper.el
@@ -1027,6 +1027,8 @@ WND, when specified is the window."
   (format "Buffers (%s): "
           (mapconcat #'identity swiper-multi-buffers ", ")))
 
+(defvar swiper-window-width 80)
+
 (defun swiper-multi ()
   "Select one or more buffers.
 Run `swiper' for those buffers."
@@ -1036,10 +1038,11 @@ Run `swiper' for those buffers."
     (ivy-read (swiper-multi-prompt)
               #'internal-complete-buffer
               :action #'swiper-multi-action-1))
-  (ivy-read "Swiper: " swiper-multi-candidates
-            :action #'swiper-multi-action-2
-            :unwind #'swiper--cleanup
-            :caller 'swiper-multi))
+  (let ((swiper-window-width (- (- (frame-width) (if (display-graphic-p) 0 1)) 
4)))
+    (ivy-read "Swiper: " swiper-multi-candidates
+              :action #'swiper-multi-action-2
+              :unwind #'swiper--cleanup
+              :caller 'swiper-multi)))
 
 (defun swiper-multi-action-1 (x)
   "Add X to list of selected buffers `swiper-multi-buffers'.
@@ -1137,8 +1140,6 @@ otherwise continue prompting for buffers."
          (list "")
        (setq ivy--old-cands (nreverse cands))))))
 
-(defvar swiper-window-width 80)
-
 (defun swiper--all-format-function (cands)
   "Format CANDS for `swiper-all'.
 See `ivy-format-functions-alist' for further information."
@@ -1209,36 +1210,15 @@ See `ivy-format-functions-alist' for further 
information."
 
 (defun swiper--multi-candidates (buffers)
   "Extract candidates from BUFFERS."
-  (let* ((ww (window-width))
-         (res nil)
-         (column-2 (apply #'max
-                          (mapcar
-                           (lambda (b)
-                             (length (buffer-name b)))
-                           buffers)))
-         (column-1 (- ww 4 column-2 1)))
+  (let ((res nil))
     (dolist (buf buffers)
       (with-current-buffer buf
         (setq res
-              (append
+              (nconc
                (mapcar
-                (lambda (s)
-                  (setq s (concat (ivy--truncate-string s column-1) " "))
-                  (let ((len (length s)))
-                    (put-text-property
-                     (1- len) len 'display
-                     (concat
-                      (make-string
-                       (max 0
-                            (- ww (string-width s) (length (buffer-name)) 3))
-                       ?\ )
-                      (buffer-name))
-                     s)
-                    (put-text-property 0 len 'buffer buf s)
-                    s))
+                (lambda (s) (put-text-property 0 1 'buffer (buffer-name) s) s)
                 (swiper--candidates 4))
-               res))
-        nil))
+               res))))
     res))
 
 ;;* `swiper-isearch'



reply via email to

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