branch: master
commit 57a57d1457ea68a8dd979a8f6db5a31d13311a32
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
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'