[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 085b0f2 218/348: Fix file name completion for when initial
From: |
Oleh Krehel |
Subject: |
[elpa] master 085b0f2 218/348: Fix file name completion for when initial-input is a file name |
Date: |
Sat, 8 Apr 2017 11:04:00 -0400 (EDT) |
branch: master
commit 085b0f2d3b0c79c4217a5f680263205e52e252c4
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Fix file name completion for when initial-input is a file name
* ivy.el (ivy--reset-state): cd to filename's directory, set the
remaining chars as :preselect.
Fixes #744
---
ivy.el | 34 ++++++++++++++++++----------------
1 file changed, 18 insertions(+), 16 deletions(-)
diff --git a/ivy.el b/ivy.el
index 96b79aa..084d1ca 100644
--- a/ivy.el
+++ b/ivy.el
@@ -1524,22 +1524,24 @@ This is useful for recursive `ivy-read'."
:test #'equal)))
(setq coll (all-completions "" collection predicate))))
((eq collection 'read-file-name-internal)
- (if (and initial-input
- (not (equal initial-input ""))
- (file-directory-p initial-input))
- (progn
- (when (and (eq this-command 'dired-do-copy)
- (equal (file-name-nondirectory initial-input)
""))
- (setf (ivy-state-preselect state) (setq preselect nil)))
- (setq ivy--directory initial-input)
- (setq initial-input nil)
- (when preselect
- (let ((preselect-directory (file-name-directory
preselect)))
- (when (and preselect-directory
- (not (equal (expand-file-name
preselect-directory)
- (expand-file-name
ivy--directory))))
- (setf (ivy-state-preselect state) (setq preselect
nil))))))
- (setq ivy--directory default-directory))
+ (setq ivy--directory default-directory)
+ (when (and initial-input
+ (not (equal initial-input "")))
+ (cond ((file-directory-p initial-input)
+ (when (and (eq this-command 'dired-do-copy)
+ (equal (file-name-nondirectory initial-input)
""))
+ (setf (ivy-state-preselect state) (setq preselect
nil)))
+ (setq ivy--directory initial-input)
+ (setq initial-input nil)
+ (when preselect
+ (let ((preselect-directory (file-name-directory
preselect)))
+ (when (and preselect-directory
+ (not (equal (expand-file-name
preselect-directory)
+ (expand-file-name
ivy--directory))))
+ (setf (ivy-state-preselect state) (setq preselect
nil))))))
+ ((file-exists-p (file-name-directory initial-input))
+ (setq ivy--directory (file-name-directory initial-input))
+ (setf (ivy-state-preselect state)
(file-name-nondirectory initial-input)))))
(require 'dired)
(when preselect
(let ((preselect-directory (file-name-directory preselect)))
- [elpa] master d1de20f 193/348: Display completion-at-point at point, (continued)
- [elpa] master d1de20f 193/348: Display completion-at-point at point, Oleh Krehel, 2017/04/08
- [elpa] master 8109655 204/348: ivy-overlay.el (ivy-display-function-overlay): Fix with-ivy-window, Oleh Krehel, 2017/04/08
- [elpa] master 572c2aa 206/348: Enable read-only-mode for ivy-occur, Oleh Krehel, 2017/04/08
- [elpa] master 73d23d1 207/348: Correct a minor doc error: `info-describe-symbol' should be `info-lookup-symbol'., Oleh Krehel, 2017/04/08
- [elpa] master 378943c 212/348: ivy.el (ivy--minibuffer-setup): Fixup max-mini-window-height, Oleh Krehel, 2017/04/08
- [elpa] master 8312176 210/348: ivy.el (ivy-magic-tilde): New defcustom, Oleh Krehel, 2017/04/08
- [elpa] master dcec964 211/348: ivy.el (ivy-magic-tilde): Fix type, Oleh Krehel, 2017/04/08
- [elpa] master 3d600b6 214/348: Correct ivy-fixed-height-minibuffer size, Oleh Krehel, 2017/04/08
- [elpa] master 2d4db96 215/348: Silence byte-compiler, Oleh Krehel, 2017/04/08
- [elpa] master 2f6b67a 221/348: counsel.el (counsel-pt): Add initial-input arg, Oleh Krehel, 2017/04/08
- [elpa] master 085b0f2 218/348: Fix file name completion for when initial-input is a file name,
Oleh Krehel <=
- [elpa] master 823d86c 224/348: counsel.el (counsel-grep): Quote :preselect, Oleh Krehel, 2017/04/08
- [elpa] master c8be397 222/348: update 'counsel-bookmark' with the ability to create, edit, and delete bookmarks, Oleh Krehel, 2017/04/08
- [elpa] master 45834cc 231/348: ivy.el (ivy--reset-state): file-name-directory can return nil, Oleh Krehel, 2017/04/08
- [elpa] master aacba19 229/348: ivy.el (ivy--directory-done): Check if ivy-text is a proper dir, Oleh Krehel, 2017/04/08
- [elpa] master b1f587d 233/348: ivy.el (ivy--directory-done): Fix "RET" on no input, Oleh Krehel, 2017/04/08
- [elpa] master 5190412 234/348: Add `counsel-rg`, Oleh Krehel, 2017/04/08
- [elpa] master 92f2be5 247/348: Fix typo in ivy-read docstring, Oleh Krehel, 2017/04/08
- [elpa] master b99f6de 238/348: ivy.el (ivy--directory-done): Fix when ivy-text exists, Oleh Krehel, 2017/04/08
- [elpa] master 0312d5e 259/348: Make counsel-ag support limiting in files., Oleh Krehel, 2017/04/08
- [elpa] master eddf427 261/348: counsel.el (counsel-ag): Fix byte-compile warning, Oleh Krehel, 2017/04/08