branch: master
commit 31e801f4918d990af49f23c145e68f15b0ff50ec
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
ivy.el (ivy-backward-delete-char): Preselect last dir
Fixes #1257
---
ivy.el | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/ivy.el b/ivy.el
index 1b4fec3..5e147d9 100644
--- a/ivy.el
+++ b/ivy.el
@@ -1229,11 +1229,19 @@ On error (read-only), call `ivy-on-del-error-function'."
(interactive)
(if (and ivy--directory (= (minibuffer-prompt-end) (point)))
(progn
- (ivy--cd (file-name-directory
- (directory-file-name
- (expand-file-name
- ivy--directory))))
- (ivy--exhibit))
+ (let ((old-dir (file-name-nondirectory
+ (directory-file-name ivy--directory)))
+ idx)
+ (ivy--cd (file-name-directory
+ (directory-file-name
+ (expand-file-name
+ ivy--directory))))
+ (ivy--exhibit)
+ (when (setq idx (cl-position
+ (file-name-as-directory old-dir)
+ ivy--old-cands
+ :test 'equal))
+ (ivy-set-index idx))))
(condition-case nil
(backward-delete-char 1)
(error