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

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

[elpa] externals/consult 73971a47e1: consult--buffer-query: Add buffer-l


From: ELPA Syncer
Subject: [elpa] externals/consult 73971a47e1: consult--buffer-query: Add buffer-list keyword argument
Date: Thu, 9 May 2024 15:57:39 -0400 (EDT)

branch: externals/consult
commit 73971a47e12bfb54eaf72f0443a8095fa082607a
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    consult--buffer-query: Add buffer-list keyword argument
    
    This makes it possible to restrict the buffer list to the buffers from the
    current frame or current tab. See also #1009.
    
    (setf (plist-get consult--source-buffer :items)
          (lambda ()
            (consult--buffer-query
             :sort 'visibility
             :as #'consult--buffer-pair
             :buffer-list (frame-parameter nil 'buffer-list))))
---
 consult.el | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/consult.el b/consult.el
index c3bed2b337..06d704f099 100644
--- a/consult.el
+++ b/consult.el
@@ -4395,7 +4395,8 @@ to search and is passed to `consult--buffer-query'."
           buffers)))
 
 (cl-defun consult--buffer-query (&key sort directory mode as predicate (filter 
t)
-                                      include (exclude consult-buffer-filter))
+                                      include (exclude consult-buffer-filter)
+                                      buffer-list)
   "Query for a list of matching buffers.
 The function supports filtering by various criteria which are
 used throughout Consult.  In particular it is the backbone of
@@ -4407,16 +4408,16 @@ EXCLUDE is a list of regexps.
 INCLUDE is a list of regexps.
 MODE can be a mode or a list of modes to restrict the returned buffers.
 PREDICATE is a predicate function.
+BUFFER-LIST is the unfiltered list of buffers.
 AS is a conversion function."
-  (let ((root (consult--normalize-directory directory))
-        (buffers (buffer-list)))
+  (let ((root (consult--normalize-directory directory)))
     (when sort
-      (setq buffers (funcall (intern (format "consult--buffer-sort-%s" sort)) 
buffers)))
+      (setq buffer-list (funcall (intern (format "consult--buffer-sort-%s" 
sort)) buffer-list)))
     (when (or filter mode as root)
       (let ((exclude-re (consult--regexp-filter exclude))
             (include-re (consult--regexp-filter include))
             (case-fold-search))
-        (consult--keep! buffers
+        (consult--keep! buffer-list
           (and
            (or (not mode)
                (let ((mm (buffer-local-value 'major-mode it)))
@@ -4440,7 +4441,7 @@ AS is a conversion function."
                                     (expand-file-name dir)))))
            (or (not predicate) (funcall predicate it))
            (if as (funcall as it) it)))))
-    buffers))
+    buffer-list))
 
 (defun consult--buffer-file-hash ()
   "Return hash table of all buffer file names."



reply via email to

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