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

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

[elpa] externals/consult d0813b9639 2/2: consult-info: Extract consult-i


From: ELPA Syncer
Subject: [elpa] externals/consult d0813b9639 2/2: consult-info: Extract consult-info--prepare-buffers
Date: Fri, 27 Jan 2023 07:57:26 -0500 (EST)

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

    consult-info: Extract consult-info--prepare-buffers
---
 consult-info.el | 65 ++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 36 insertions(+), 29 deletions(-)

diff --git a/consult-info.el b/consult-info.el
index 3ee3707d23..e6b960a36e 100644
--- a/consult-info.el
+++ b/consult-info.el
@@ -123,17 +123,9 @@
   (if transform cand
     (car (get-text-property 0 'consult--info cand))))
 
-;;;###autoload
-(defun consult-info (&rest manuals)
-  "Full text search through info MANUALS."
-  (interactive
-   (if Info-current-file
-       (list (file-name-base Info-current-file))
-     (info-initialize)
-     (completing-read-multiple
-      "Info Manuals: "
-      (info--manual-names current-prefix-arg)
-      nil t)))
+(defun consult-info--prepare-buffers (manuals fun)
+  "Prepare buffers for MANUALS and call FUN with buffers."
+  (declare (indent 1))
   (let (buffers)
     (unwind-protect
         (progn
@@ -148,26 +140,41 @@
                               (progress-reporter-update reporter (1+ idx) 
manual))
                             manuals)
             (progress-reporter-done reporter))
-          (consult--read
-           (consult--dynamic-collection
-            (apply-partially #'consult-info--candidates (reverse buffers)))
-           :state (consult-info--state)
-           :prompt
-           (format "Info (%s): "
-                   (string-join (if (length> manuals 3)
-                                    `(,@(seq-take manuals 3) ,"…")
-                                  manuals)
-                                ", "))
-           :require-match t
-           :sort nil
-           :category 'consult-info
-           :history '(:input consult-info--history)
-           :group #'consult-info--group
-           :initial (consult--async-split-initial "")
-           :add-history (consult--async-split-thingatpt 'symbol)
-           :lookup #'consult--lookup-member))
+          (funcall fun (reverse buffers)))
       (dolist (buf buffers)
         (kill-buffer (cdr buf))))))
 
+;;;###autoload
+(defun consult-info (&rest manuals)
+  "Full text search through info MANUALS."
+  (interactive
+   (if Info-current-file
+       (list (file-name-base Info-current-file))
+     (info-initialize)
+     (completing-read-multiple
+      "Info Manuals: "
+      (info--manual-names current-prefix-arg)
+      nil t)))
+  (consult-info--prepare-buffers manuals
+    (lambda (buffers)
+      (consult--read
+       (consult--dynamic-collection
+        (apply-partially #'consult-info--candidates (reverse buffers)))
+       :state (consult-info--state)
+       :prompt
+       (format "Info (%s): "
+               (string-join (if (length> manuals 3)
+                                `(,@(seq-take manuals 3) ,"…")
+                              manuals)
+                            ", "))
+       :require-match t
+       :sort nil
+       :category 'consult-info
+       :history '(:input consult-info--history)
+       :group #'consult-info--group
+       :initial (consult--async-split-initial "")
+       :add-history (consult--async-split-thingatpt 'symbol)
+       :lookup #'consult--lookup-member))))
+
 (provide 'consult-info)
 ;;; consult-info.el ends here



reply via email to

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