Maybe we should look more how zsh behaves... and try to mimic that as
much as possible. Because it is already pretty consisten
Does zsh use arrow keys to navigate in completions?
How then it's possible to get previous/next history item (up/down arrows),
and move the cursor in the command line (left/right arrows)?
Similar to what we are doing.
1) When NO completions shown: previous/next history and so on.
2) When completions are shown: navigate completions.
Completions are only shown after a "tab request" 1->2 (unlike
incomplete)
Trying to mimic the 'zsh' behavior is a good thing. Using
'zsh' as a reference, what do you think about naming the package
'zcomplete'.
If you type any letter completions disappear, inserts a space and then
the letter, so
backspace just hides completions (deletes the inserted space), so goes
from 2->1 easily (unlike *Completions*).
If you want to emulate the 'zsh' behavior, then much simpler approach
would be to allow TAB to pop-up the completions buffer, i.e. to display
and switch to it. Then all motion keys will be available by default.
To display the cursor in the minibuffer is still possible by using
'(cursor-in-echo-area t)'. RET will insert the completion under point
to the minibuffer. Any self-inserting key could switch back
to the minibuffer and insert its character.