emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Navigating completions from minibuffer


From: Juri Linkov
Subject: Re: Navigating completions from minibuffer
Date: Thu, 16 Nov 2023 09:16:57 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)

>> 1. On editing the minibuffer close the completions window as expired.
>
> This would make it difficult to narrow the completions by typing in some
> text from them, though.  I think I relatively often:
>
> 1. TAB
> 2. Look at *Completions*
> 3. Type in some text from one of them
>
> Step 3 would harder if *Completions* disappeared on the first character
> I typed.
>
> Perhaps instead typing a character could deselect the currently selected
> completion, rather than hide *Completions*?  But it seems nice to
> maintain the selected completion as you type, as a visual guide, and
> also my other patch maintains the selected completion between each TAB,
> which is nice.

In case of completion-auto-update=t the selected completion should be
maintained as you type indeed.  But when completion-auto-update=nil
instead of forcing the completions window to be closed it looks better
just to deselect the current completion.

> Maybe... we could somehow de-activate the selected completion, visually
> de-emphasizing it in some way, but still showing its position in some
> less-significant way?  An underline, perhaps?  And subsequent operations
> which change the selected completion would reactivate it, making it the
> selected completion again.  That might be a bit tricky to represent
> visually in an intuitive way, but it might give us everything we want.
>
> Maybe we could represent that visually by moving the selected completion
> indicator (which in emacs -q is a green highlight) to *the minibuffer*
> when the "selected" completion is not actually active.  Then the user
> would quite quickly get the idea: RET submits whatever is highlighted in
> green.

Usually the active editing area is not highlighted in any way.
So better would be to use highlighting only in the completions window.

For completions-highlight-face=t it's clear that deselection should
remove this face.  But what to do for completions-highlight-face=nil
is not clear.  Maybe just to move point to area with no candidates?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]