[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