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

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

[elpa] master 1a4ebda 048/184: Allow virtual-buffers customization


From: Oleh Krehel
Subject: [elpa] master 1a4ebda 048/184: Allow virtual-buffers customization
Date: Wed, 16 Oct 2019 13:14:46 -0400 (EDT)

branch: master
commit 1a4ebdaff8cf67faa69f412e6fa9ed2743c6bc92
Author: gusbrs <address@hidden>
Commit: Oleh Krehel <address@hidden>

    Allow virtual-buffers customization
    
    Allow to choose between recent files, bookmarks or both to compose
    ivy-switch-buffer's virtual-buffers.
    
    Fixes #2169
    Fixes #2172
---
 ivy.el | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/ivy.el b/ivy.el
index 3427cdb..396d145 100644
--- a/ivy.el
+++ b/ivy.el
@@ -222,8 +222,15 @@ Only \"./\" and \"../\" apply here.  They appear in 
reverse order."
            (const :tag "Current Directory" "./"))))
 
 (defcustom ivy-use-virtual-buffers nil
-  "When non-nil, add recent files and bookmarks to `ivy-switch-buffer'."
-  :type 'boolean)
+  "When non-nil, add recent files and/or bookmarks to `ivy-switch-buffer'.
+The value `recentf' includes only recent files to the virtual
+buffers list, whereas the value `bookmarks' does the same for
+bookmarks.  Any other non-nil value includes both."
+  :type '(choice
+          (const :tag "Don't use virtual buffers" nil)
+          (const :tag "Recent files" recentf)
+          (const :tag "Bookmarks" bookmarks)
+          (const :tag "All virtual buffers" t)))
 
 (defvar ivy-display-function nil
   "Determine where to display candidates.
@@ -3826,12 +3833,19 @@ CANDS is a list of strings."
   (require 'bookmark)
   (unless recentf-mode
     (recentf-mode 1))
-  (let (virtual-buffers)
-    (bookmark-maybe-load-default-file)
-    (dolist (head (append recentf-list
-                          (delete "   - no file -"
-                                  (delq nil (mapcar #'bookmark-get-filename
-                                                    bookmark-alist)))))
+  (bookmark-maybe-load-default-file)
+  (let* ((vb-bkm (delete "   - no file -"
+                         (delq nil (mapcar #'bookmark-get-filename
+                                           bookmark-alist))))
+         (vb-list (cond ((eq ivy-use-virtual-buffers 'recentf)
+                         recentf-list)
+                        ((eq ivy-use-virtual-buffers 'bookmarks)
+                         vb-bkm)
+                        (ivy-use-virtual-buffers
+                         (append recentf-list vb-bkm))
+                        (t nil)))
+         virtual-buffers)
+    (dolist (head vb-list)
       (let* ((file-name (if (stringp head)
                             head
                           (cdr head)))



reply via email to

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