branch: master
commit 23c0e6a63b31dee846d4b02b0c9ff1284730deea
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
ivy.el (ivy-done): Update for non-matching file names
* ivy.el (ivy-done): When `ivy--directory' is non-nil, accept input
anyway.
Fixes #39
---
ivy.el | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/ivy.el b/ivy.el
index 23b4552..5cccbfe 100644
--- a/ivy.el
+++ b/ivy.el
@@ -147,14 +147,21 @@ When non-nil, it should contain one %d.")
"Exit the minibuffer with the selected candidate."
(interactive)
(delete-minibuffer-contents)
- (if (zerop ivy--length)
- (when (memq ivy-require-match '(nil confirm confirm-after-completion))
- (insert ivy-text)
- (setq ivy-exit 'done))
- (if ivy--directory
- (insert (expand-file-name ivy--current ivy--directory))
- (insert ivy--current))
- (setq ivy-exit 'done))
+ (cond (ivy--directory
+ (insert (expand-file-name
+ (if (zerop ivy--length)
+ ivy-text
+ ivy--current)
+ ivy--directory))
+ (setq ivy-exit 'done))
+ ((zerop ivy--length)
+ (when (memq ivy-require-match
+ '(nil confirm confirm-after-completion))
+ (insert ivy-text)
+ (setq ivy-exit 'done)))
+ (t
+ (insert ivy--current)
+ (setq ivy-exit 'done)))
(exit-minibuffer))
(defun ivy-alt-done ()