[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 8b08cc0 08/57: ivy.el (ivy-done): Simplify and improve
From: |
Oleh Krehel |
Subject: |
[elpa] master 8b08cc0 08/57: ivy.el (ivy-done): Simplify and improve |
Date: |
Tue, 19 May 2015 14:21:21 +0000 |
branch: master
commit 8b08cc031f1bf5e3b7660b2329d06a2117f85759
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
ivy.el (ivy-done): Simplify and improve
* ivy.el (ivy--done): New defun.
(ivy-done): Consider `confirm-nonexistent-file-or-buffer' for buffers as
well.
Fixes #76
---
ivy.el | 57 +++++++++++++++++++++++++++------------------------------
1 files changed, 27 insertions(+), 30 deletions(-)
diff --git a/ivy.el b/ivy.el
index 795aa9d..fb1b74c 100644
--- a/ivy.el
+++ b/ivy.el
@@ -185,41 +185,38 @@ When non-nil, it should contain one %d.")
(defvar Info-current-file)
+(defun ivy--done (text)
+ "Insert TEXT and exit minibuffer."
+ (insert
+ (if ivy--directory
+ (expand-file-name
+ text ivy--directory)
+ text))
+ (setq ivy-exit 'done)
+ (exit-minibuffer))
+
;;* Commands
(defun ivy-done ()
"Exit the minibuffer with the selected candidate."
(interactive)
(delete-minibuffer-contents)
- (when (cond (ivy--directory
- (if (zerop ivy--length)
- (if (or (not (eq confirm-nonexistent-file-or-buffer t))
- (equal " (confirm)" ivy--prompt-extra))
- (progn
- (insert
- (expand-file-name ivy-text ivy--directory))
- (setq ivy-exit 'done))
- (setq ivy--prompt-extra " (confirm)")
- (insert ivy-text)
- (ivy--exhibit)
- nil)
- (insert
- (expand-file-name
- ivy--current ivy--directory))
- (setq ivy-exit 'done)))
- ((zerop ivy--length)
- (if (memq (ivy-state-require-match ivy-last)
- '(nil confirm confirm-after-completion))
- (progn
- (insert ivy-text)
- (setq ivy-exit 'done))
- (setq ivy--prompt-extra " (match required)")
- (insert ivy-text)
- (ivy--exhibit)
- nil))
- (t
- (insert ivy--current)
- (setq ivy-exit 'done)))
- (exit-minibuffer)))
+ (cond ((> ivy--length 0)
+ (ivy--done ivy--current))
+ ((memq (ivy-state-collection ivy-last)
+ '(read-file-name-internal internal-complete-buffer))
+ (if (or (not (eq confirm-nonexistent-file-or-buffer t))
+ (equal " (confirm)" ivy--prompt-extra))
+ (ivy--done ivy-text)
+ (setq ivy--prompt-extra " (confirm)")
+ (insert ivy-text)
+ (ivy--exhibit)))
+ ((memq (ivy-state-require-match ivy-last)
+ '(nil confirm confirm-after-completion))
+ (ivy--done ivy-text))
+ (t
+ (setq ivy--prompt-extra " (match required)")
+ (insert ivy-text)
+ (ivy--exhibit))))
(defun ivy-build-tramp-name (x)
"Reconstruct X into a path.
- [elpa] master updated (e559638 -> 155f2a6), Oleh Krehel, 2015/05/19
- [elpa] master ca91c88 01/57: Add an option for out-of-order matching, Oleh Krehel, 2015/05/19
- [elpa] master 4ad1ab2 02/57: ivy.el (ivy-tab-space): New defcustom, Oleh Krehel, 2015/05/19
- [elpa] master 41bc3e8 03/57: Ignore case for "TAB", Oleh Krehel, 2015/05/19
- [elpa] master 2c39e10 04/57: "TAB" shouldn't delete input when no candidate, Oleh Krehel, 2015/05/19
- [elpa] master 2d7f287 09/57: Improve "TAB" interaction with `confirm-nonexistent-file-or-buffer', Oleh Krehel, 2015/05/19
- [elpa] master 03ab827 07/57: Merge ivy--collection into ivy-last, Oleh Krehel, 2015/05/19
- [elpa] master dc219b3 12/57: Add counsel-load-library, Oleh Krehel, 2015/05/19
- [elpa] master 8b08cc0 08/57: ivy.el (ivy-done): Simplify and improve,
Oleh Krehel <=
- [elpa] master cd083cc 18/57: Add swiper -> avy finalizer, Oleh Krehel, 2015/05/19
- [elpa] master f2a0966 16/57: Add ivy-partial: partial complete without exiting, Oleh Krehel, 2015/05/19
- [elpa] master 386184b 14/57: Merge ivy--update-fn into ivy-last, Oleh Krehel, 2015/05/19
- [elpa] master c5fce64 05/57: Make "TAB" switch directories properly, Oleh Krehel, 2015/05/19
- [elpa] master 6784185 17/57: Allow to use "^" in swiper, Oleh Krehel, 2015/05/19
- [elpa] master fb3fce9 13/57: Add parents using 'display for `counsel-load-library', Oleh Krehel, 2015/05/19
- [elpa] master 5601653 06/57: Require dired when completing file names, Oleh Krehel, 2015/05/19
- [elpa] master 4a7ba2f 15/57: Try to prevent the resize of minibuffer window, Oleh Krehel, 2015/05/19
- [elpa] master 5a451a9 26/57: ivy.el (ivy-read): Add a re-builder argument, Oleh Krehel, 2015/05/19
- [elpa] master f7fc3ad 11/57: Work around grep-read-files, Oleh Krehel, 2015/05/19