aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoão Távora2019-02-04 16:00:15 +0000
committerJoão Távora2019-02-04 16:06:52 +0000
commit0943c81ecd08252e521e841e2614a1516dc64c9e (patch)
tree2c58f7565f83dba4f540bb9fe24e12ce71081b33
parent8c9b9144cfdee7d40886044964e4b10ca1690815 (diff)
downloademacs-scratch/some-more-icomplete-hacks.tar.gz
emacs-scratch/some-more-icomplete-hacks.zip
Add new icomplete-force-complete-and-exit-unless-directory commandscratch/some-more-icomplete-hacks
Useful if you want icomplete to behave a little more like Ido. (define-key icomplete-minibuffer-map (kbd "RET") 'icomplete-force-complete-and-exit-unless-directory) * lisp/icomplete.el (icomplete-force-complete-and-exit-unless-directory): New command.
-rw-r--r--lisp/icomplete.el13
1 files changed, 13 insertions, 0 deletions
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index 102ebb9526f..67c8ef661f2 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -167,6 +167,19 @@ the default otherwise."
167 (minibuffer-force-complete-and-exit) 167 (minibuffer-force-complete-and-exit)
168 (minibuffer-complete-and-exit))) 168 (minibuffer-complete-and-exit)))
169 169
170(defun icomplete-force-complete-and-exit-unless-directory ()
171 "Complete minibuffer, don't exit if completing a directory."
172 (interactive)
173 (minibuffer-force-complete nil nil 'dont-cycle)
174 (let* ((meta (cdr (funcall minibuffer-completion-table
175 nil nil 'metadata)))
176 (category (cdr (assq 'category meta))))
177 (unless (and (eq 'file category)
178 (file-directory-p
179 (buffer-substring-no-properties (icomplete--field-beg)
180 (icomplete--field-end))))
181 (minibuffer-complete-and-exit))))
182
170(defun icomplete-force-complete-and-kill () 183(defun icomplete-force-complete-and-kill ()
171 "Complete minibuffer, kill current prospect, don't exit. 184 "Complete minibuffer, kill current prospect, don't exit.
172Killing the current prospect has different meanings according to 185Killing the current prospect has different meanings according to