[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question to completion
From: |
Klaus Berndl |
Subject: |
Re: Question to completion |
Date: |
08 Nov 2003 15:14:52 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 |
Until now i have written a first solution which does what i want:
(defun offer-some-choices ()
(interactive)
;; With these 3 TAB-events we ensure that
;; 1. The longest possible common substring is display in the minibuffer
;; 2. All possible completions are displayed
(setq unread-command-events (cons 9 unread-command-events))
(setq unread-command-events (cons 9 unread-command-events))
(setq unread-command-events (cons 9 unread-command-events))
(let ((file (completing-read
"Select a file: "
'(("c:/Programme/emacs-21/site-lisp/semantic/semanticdb-test.el"
. t)
("c:/Programme/emacs-21/site-lisp/ecb-navigate.el" . t)))))
(message "Choosen file: %s" file)))
Now my question: Is this completely an ugly hack and what to do to write this
better?
Thanks for help,
Klaus
On 08 Nov 2003, Klaus Berndl wrote:
>
> Suppose i have s command like follows:
>
> (defun offer-some-choices ()
> (interactive)
> (completing-read "Select a name: " '(("Klaus" . t) ("Berndl" . t))))
>
> Then this displays in the minibuffer "Select a name: " and then wait for
> input from the user.
>
> How can i achieve that always - *without* the user has to hit TAB - the
> possible completions are displayed immediately? Or with other words: How to
> simulate that the user has already pressed TAB as often as necessary to
> display all possible completions? Best would be if the longest common
> substring of all possible completions is displayed immediately in the
> minibuffer (OK, this i could precompute with `try-completion' and then
> insert as argument INITIAL-INPUT - but AFAIK this is deprecated?!).
>
> But most important is that the user has not to hit any key to see all
> possible completions. How to do this with completing-read - or is there a
> better way to do this?
>
> What i want is to (mis?)use the completion-feature of Emacs to offer the
> user some choices which he can select either via mouse or via keyboard from
> the minibuffer.
>
> Thanks a lot in advance!
> Klaus
--
Klaus Berndl mailto: klaus.berndl@sdm.de
sd&m AG http://www.sdm.de
software design & management
Carl-Wery-Str. 42, 81739 Muenchen, Germany
Tel +49 89 63812-392, Fax -220