[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 57c0f5e 095/348: ivy.el (ivy-set-view-recur): Account for
From: |
Oleh Krehel |
Subject: |
[elpa] master 57c0f5e 095/348: ivy.el (ivy-set-view-recur): Account for mulitple same kind splits |
Date: |
Sat, 8 Apr 2017 11:03:35 -0400 (EDT) |
branch: master
commit 57c0f5ec3afd46be8032b3eb16226056ee63aba5
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
ivy.el (ivy-set-view-recur): Account for mulitple same kind splits
`window-tree' doesn't return e.g. (vert w1 (vert w2 w3)),
but instead (vert w1 w2 w3). Adjust for that.
Fixes #584
---
ivy.el | 40 ++++++++++++++++++++++++----------------
1 file changed, 24 insertions(+), 16 deletions(-)
diff --git a/ivy.el b/ivy.el
index 9fa822b..96fe05c 100644
--- a/ivy.el
+++ b/ivy.el
@@ -2810,12 +2810,10 @@ Use `ivy-pop-view' to delete any item from `ivy-views'."
(let* ((view (cl-labels ((ft (tr)
(if (consp tr)
(if (eq (car tr) t)
- (list 'vert
- (ft (nth 2 tr))
- (ft (nth 3 tr)))
- (list 'horz
- (ft (nth 2 tr))
- (ft (nth 3 tr))))
+ (cons 'vert
+ (mapcar #'ft (cddr tr)))
+ (cons 'horz
+ (mapcar #'ft (cddr tr))))
(with-current-buffer (window-buffer tr)
(cond ((buffer-file-name)
(list 'file (buffer-file-name)
(point)))
@@ -2854,19 +2852,29 @@ Use `ivy-pop-view' to delete any item from `ivy-views'."
(defun ivy-set-view-recur (view)
(cond ((eq (car view) 'vert)
- (let ((wnd1 (selected-window))
- (wnd2 (split-window-vertically)))
+ (let* ((wnd1 (selected-window))
+ (wnd2 (split-window-vertically))
+ (views (cdr view))
+ (v (pop views)))
(with-selected-window wnd1
- (ivy-set-view-recur (nth 1 view)))
- (with-selected-window wnd2
- (ivy-set-view-recur (nth 2 view)))))
+ (ivy-set-view-recur v))
+ (while (setq v (pop views))
+ (with-selected-window wnd2
+ (ivy-set-view-recur v))
+ (when views
+ (setq wnd2 (split-window-vertically))))))
((eq (car view) 'horz)
- (let ((wnd1 (selected-window))
- (wnd2 (split-window-horizontally)))
+ (let* ((wnd1 (selected-window))
+ (wnd2 (split-window-horizontally))
+ (views (cdr view))
+ (v (pop views)))
(with-selected-window wnd1
- (ivy-set-view-recur (nth 1 view)))
- (with-selected-window wnd2
- (ivy-set-view-recur (nth 2 view)))))
+ (ivy-set-view-recur v))
+ (while (setq v (pop views))
+ (with-selected-window wnd2
+ (ivy-set-view-recur v))
+ (when views
+ (setq wnd2 (split-window-horizontally))))))
((eq (car view) 'file)
(let* ((name (nth 1 view))
(virtual (assoc name ivy--virtual-buffers))
- [elpa] master 0028c8c 106/348: counsel.el (counsel-outline): New command, (continued)
- [elpa] master 0028c8c 106/348: counsel.el (counsel-outline): New command, Oleh Krehel, 2017/04/08
- [elpa] master 1d8b4f8 110/348: ivy.el (ivy-sort-matches-functions-alist): New sorting for ivy-switch-buffer, Oleh Krehel, 2017/04/08
- [elpa] master 027fbac 114/348: swiper.el (swiper-multi-action-2): Fix swiper-all, Oleh Krehel, 2017/04/08
- [elpa] master d6cf677 077/348: ivy.el (ivy-prompt): Add warning, Oleh Krehel, 2017/04/08
- [elpa] master 9bd79da 074/348: ivy.el (ivy-set-prompt): New API, Oleh Krehel, 2017/04/08
- [elpa] master 72dcca5 082/348: ivy.el (ivy-push-view): Work properly for dired-mode, Oleh Krehel, 2017/04/08
- [elpa] master 3d7e1ef 083/348: ivy.el (ivy--switch-buffer-action): Improve, Oleh Krehel, 2017/04/08
- [elpa] master 055e7b8 102/348: counsel.el (counsel-git-grep-cmd-history): Update default, Oleh Krehel, 2017/04/08
- [elpa] master 7e188d5 100/348: counsel.el (counsel-git-grep): Customize re-builder, Oleh Krehel, 2017/04/08
- [elpa] master 1da8b6c 086/348: Fix foo!bar syntax for swiper, Oleh Krehel, 2017/04/08
- [elpa] master 57c0f5e 095/348: ivy.el (ivy-set-view-recur): Account for mulitple same kind splits,
Oleh Krehel <=
- [elpa] master c84b681 109/348: ivy.el (ivy-switch-buffer): Reset index to 0 on input, Oleh Krehel, 2017/04/08
- [elpa] master 0f4acb3 115/348: Make swiper-all async, Oleh Krehel, 2017/04/08
- [elpa] master 81e14ce 111/348: counsel.el (counsel-semantic): Fix warnings, Oleh Krehel, 2017/04/08
- [elpa] master 9e87993 113/348: ivy.el (ivy-state): directory field stores default-directory, Oleh Krehel, 2017/04/08
- [elpa] master 1fa9a28 118/348: Ensure regex is a sting, Oleh Krehel, 2017/04/08
- [elpa] master 70a5360 127/348: counsel.el (counsel-git-grep-proj-function): Use greedy regex, Oleh Krehel, 2017/04/08
- [elpa] master 83f7ae6 129/348: counsel.el (counsel-yank-pop): Fix candidates not showing sometimes, Oleh Krehel, 2017/04/08
- [elpa] master 8f282a5 136/348: counsel.el (counsel-git-grep-action): Reveal text in outlines, Oleh Krehel, 2017/04/08
- [elpa] master bc96feb 141/348: ivy.el (ivy--recompute-index): Update condition, Oleh Krehel, 2017/04/08
- [elpa] master 45e29af 147/348: counsel.el: Fix compile warning, Oleh Krehel, 2017/04/08