[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/consult e354494fd3 3/4: Simplify some code given that c
From: |
ELPA Syncer |
Subject: |
[elpa] externals/consult e354494fd3 3/4: Simplify some code given that consult--read catches null completion |
Date: |
Wed, 6 Dec 2023 03:57:46 -0500 (EST) |
branch: externals/consult
commit e354494fd32968ed73fe3e1927fee28697b21bcb
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Simplify some code given that consult--read catches null completion
---
consult-imenu.el | 45 ++++++++++++++++++------------------
consult-kmacro.el | 12 ++++------
consult-xref.el | 47 +++++++++++++++++++-------------------
consult.el | 68 +++++++++++++++++++++++++++----------------------------
4 files changed, 84 insertions(+), 88 deletions(-)
diff --git a/consult-imenu.el b/consult-imenu.el
index 73d78d862f..d127931026 100644
--- a/consult-imenu.el
+++ b/consult-imenu.el
@@ -201,29 +201,28 @@ this function can jump across buffers."
"Select from imenu ITEMS given PROMPT string."
(consult-imenu--deduplicate items)
(consult-imenu--jump
- (or (consult--read
- (or items (user-error "Imenu is empty"))
- :state
- (let ((preview (consult--jump-preview)))
- (lambda (action cand)
- ;; Only preview simple menu items which are markers,
- ;; in order to avoid any bad side effects.
- (funcall preview action (and (markerp (cdr cand)) (cdr cand)))))
- :narrow
- (when-let (narrow (consult-imenu--narrow))
- (list :predicate
- (lambda (cand)
- (eq (get-text-property 0 'consult--type (car cand))
consult--narrow))
- :keys narrow))
- :group (consult-imenu--group)
- :prompt prompt
- :require-match t
- :category 'imenu
- :lookup #'consult--lookup-cons
- :history 'consult-imenu--history
- :add-history (thing-at-point 'symbol)
- :sort nil)
- (user-error "No item selected"))))
+ (consult--read
+ (or items (user-error "Imenu is empty"))
+ :state
+ (let ((preview (consult--jump-preview)))
+ (lambda (action cand)
+ ;; Only preview simple menu items which are markers,
+ ;; in order to avoid any bad side effects.
+ (funcall preview action (and (markerp (cdr cand)) (cdr cand)))))
+ :narrow
+ (when-let (narrow (consult-imenu--narrow))
+ (list :predicate
+ (lambda (cand)
+ (eq (get-text-property 0 'consult--type (car cand))
consult--narrow))
+ :keys narrow))
+ :group (consult-imenu--group)
+ :prompt prompt
+ :require-match t
+ :category 'imenu
+ :lookup #'consult--lookup-cons
+ :history 'consult-imenu--history
+ :add-history (thing-at-point 'symbol)
+ :sort nil)))
;;;###autoload
(defun consult-imenu ()
diff --git a/consult-kmacro.el b/consult-kmacro.el
index 8c043e0f69..ee7bd9b405 100644
--- a/consult-kmacro.el
+++ b/consult-kmacro.el
@@ -80,13 +80,11 @@ Macros containing mouse clicks are omitted."
(lambda (cand)
(get-text-property 0 'consult-kmacro--annotation cand))
:lookup #'consult--lookup-candidate)))
- (unless km (user-error "No kmacro selected"))
- (funcall
- ;; Kmacros are lambdas (oclosures) on Emacs 29
- (if (eval-when-compile (> emacs-major-version 28))
- km
- (kmacro-lambda-form km))
- arg)))
+ ;; Kmacros are lambdas (oclosures) on Emacs 29
+ (funcall (if (eval-when-compile (> emacs-major-version 28))
+ km
+ (kmacro-lambda-form km))
+ arg)))
(provide 'consult-kmacro)
;;; consult-kmacro.el ends here
diff --git a/consult-xref.el b/consult-xref.el
index b7fced9e20..79c5658bae 100644
--- a/consult-xref.el
+++ b/consult-xref.el
@@ -91,30 +91,31 @@ FETCHER and ALIST arguments."
(let* ((consult-xref--fetcher fetcher)
(candidates (consult-xref--candidates))
(display (alist-get 'display-action alist)))
+ (unless candidates
+ (user-error "No xref locations"))
(xref-pop-to-location
- (or (if (cdr candidates)
- (apply
- #'consult--read
- candidates
- (append
- (consult--customize-get #'consult-xref)
- (list
- :prompt "Go to xref: "
- :history 'consult-xref--history
- :require-match t
- :sort nil
- :category 'consult-xref
- :group #'consult--prefix-group
- :state
- ;; do not preview other frame
- (when-let (fun (pcase-exhaustive display
- ('frame nil)
- ('window #'switch-to-buffer-other-window)
- ('nil #'switch-to-buffer)))
- (consult-xref--preview fun))
- :lookup (apply-partially #'consult--lookup-prop
'consult-xref))))
- (get-text-property 0 'consult-xref (car candidates)))
- (user-error "No xref location"))
+ (if (cdr candidates)
+ (apply
+ #'consult--read
+ candidates
+ (append
+ (consult--customize-get #'consult-xref)
+ (list
+ :prompt "Go to xref: "
+ :history 'consult-xref--history
+ :require-match t
+ :sort nil
+ :category 'consult-xref
+ :group #'consult--prefix-group
+ :state
+ ;; do not preview other frame
+ (when-let (fun (pcase-exhaustive display
+ ('frame nil)
+ ('window #'switch-to-buffer-other-window)
+ ('nil #'switch-to-buffer)))
+ (consult-xref--preview fun))
+ :lookup (apply-partially #'consult--lookup-prop 'consult-xref))))
+ (get-text-property 0 'consult-xref (car candidates)))
display)))
(provide 'consult-xref)
diff --git a/consult.el b/consult.el
index 4e04bb80ab..fcc619e636 100644
--- a/consult.el
+++ b/consult.el
@@ -3852,22 +3852,21 @@ If no MODES are specified, use currently active major
and minor modes."
(?l . "Local Minor")
(?g . "Global Minor"))))
(command-execute
- (or (consult--read
- (consult--mode-command-candidates modes)
- :prompt "Mode command: "
- :predicate
- (lambda (cand)
- (let ((key (get-text-property 0 'consult--type cand)))
- (if consult--narrow
- (= key consult--narrow)
- (/= key ?g))))
- :lookup #'consult--lookup-candidate
- :group (consult--type-group narrow)
- :narrow narrow
- :require-match t
- :history 'extended-command-history
- :category 'command)
- (user-error "No command selected")))))
+ (consult--read
+ (consult--mode-command-candidates modes)
+ :prompt "Mode command: "
+ :predicate
+ (lambda (cand)
+ (let ((key (get-text-property 0 'consult--type cand)))
+ (if consult--narrow
+ (= key consult--narrow)
+ (/= key ?g))))
+ :lookup #'consult--lookup-candidate
+ :group (consult--type-group narrow)
+ :narrow narrow
+ :require-match t
+ :history 'extended-command-history
+ :category 'command))))
;;;;; Command: consult-yank
@@ -4290,25 +4289,24 @@ starts a new Isearch session otherwise."
This is an alternative to `minor-mode-menu-from-indicator'."
(interactive)
(call-interactively
- (or (consult--read
- (consult--minor-mode-candidates)
- :prompt "Minor mode: "
- :require-match t
- :category 'minor-mode
- :group
- (lambda (cand transform)
- (if transform cand (get-text-property 0 'consult--minor-mode-group
cand)))
- :narrow
- (list :predicate
- (lambda (cand)
- (let ((narrow (get-text-property 0 'consult--minor-mode-narrow
cand)))
- (or (= (logand narrow 255) consult--narrow)
- (= (ash narrow -8) consult--narrow))))
- :keys
- consult--minor-mode-menu-narrow)
- :lookup #'consult--lookup-candidate
- :history 'consult--minor-mode-menu-history)
- (user-error "No minor mode selected"))))
+ (consult--read
+ (consult--minor-mode-candidates)
+ :prompt "Minor mode: "
+ :require-match t
+ :category 'minor-mode
+ :group
+ (lambda (cand transform)
+ (if transform cand (get-text-property 0 'consult--minor-mode-group
cand)))
+ :narrow
+ (list :predicate
+ (lambda (cand)
+ (let ((narrow (get-text-property 0 'consult--minor-mode-narrow
cand)))
+ (or (= (logand narrow 255) consult--narrow)
+ (= (ash narrow -8) consult--narrow))))
+ :keys
+ consult--minor-mode-menu-narrow)
+ :lookup #'consult--lookup-candidate
+ :history 'consult--minor-mode-menu-history)))
;;;;; Command: consult-theme