New flexible method of customising completing-read

Added the customisation option 'mu4e-completing-read-function' which can
be used to choose which method of input-with-completion will be used by
mu4e. This variable is set to the function which mu4e will use.

By default, mu4e will use ido (via 'ido-completing-read'), but any
compatible completing-read function can be used instead. Interesting
choices would include 'helm-comp-read' for Helm-based completion, and
'completing-read' for the built-in basic completion system.
This commit is contained in:
Stuart Hickinbottom
2013-09-12 22:42:45 +01:00
parent 97e821bcd6
commit 6e8e9ec44a
2 changed files with 15 additions and 2 deletions

View File

@ -322,7 +322,7 @@ name. If the special shortcut 'o' (for _o_ther) is used, or if
maildirs under `mu4e-maildir'."
(let ((prompt (mu4e-format "%s" prompt)))
(if (not mu4e-maildir-shortcuts)
(ido-completing-read prompt (mu4e-get-maildirs))
(funcall mu4e-completing-read-function prompt (mu4e-get-maildirs))
(let* ((mlist (append mu4e-maildir-shortcuts '(("ther" . ?o))))
(fnames
(mapconcat
@ -336,7 +336,7 @@ maildirs under `mu4e-maildir'."
mlist ", "))
(kar (read-char (concat prompt fnames))))
(if (member kar '(?/ ?o)) ;; user chose 'other'?
(ido-completing-read prompt (mu4e-get-maildirs) nil nil "/")
(funcall mu4e-completing-read-function prompt (mu4e-get-maildirs) nil nil "/")
(or (car-safe
(find-if (lambda (item) (= kar (cdr item))) mu4e-maildir-shortcuts))
(mu4e-warn "Unknown shortcut '%c'" kar)))))))