Example of use:
(defun ivy-recentf-with-last-input (_x)
(ivy-read "Recentf: " recentf-list
:action (lambda (f)
(with-ivy-window (find-file f)))
:initial-input ivy-text
:caller 'ivy-recentf))
(ivy-set-actions t '(("r" ivy-recentf-with-last-input "recentf")))
The input may match no candidates, but it's still good for
`ivy-recentf-with-last-input', since it uses `ivy-text' instead of
`ivy--current'.
"Exit the minibuffer with the selected candidate."
(interactive)
(delete-minibuffer-contents)
- (cond ((> ivy--length 0)
+ (cond ((or (> ivy--length 0)
+ ;; the action from `ivy-dispatching-done' may not need a
+ ;; candidate at all
+ (eq this-command 'ivy-dispatching-done))
(ivy--done ivy--current))
((memq (ivy-state-collection ivy-last)
'(read-file-name-internal internal-complete-buffer))