[Top][All Lists]

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

Re: Emacs completion matches selection UI

From: Ted Zlatanov
Subject: Re: Emacs completion matches selection UI
Date: Fri, 22 Nov 2013 07:33:33 -0500
User-agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3.50 (gnu/linux)

On Fri, 22 Nov 2013 09:36:20 +0200 Eli Zaretskii <address@hidden> wrote: 

>> From: Juri Linkov <address@hidden>
>> Cc: address@hidden,  address@hidden,  address@hidden
>> Date: Fri, 22 Nov 2013 02:10:48 +0200
>> >> > Many people access `previous-history-element' in the minibuffer through
>> >> > the up arrow, so I hope it is not commandeered for this purpose.
>> >>
>> >> The web browsers solve this problem by combining completions for
>> >> history and suggestions in the same list (separated by a horizontal line).
>> >
>> > The problem with that is that the resulting list is frustratingly
>> > long.
>> The browsers put the most frequently visited history items at the top.

EZ> And therein lies the problem: I frequently cannot locate the history
EZ> item I need in that list.

I think it can be addressed: `up' goes into the popup, starting with the
history items in the order you expect.  `down' also goes into the popup
but starts with the completion candidates.  So if you want to select the
first completion candidate, you'd use `down RET'.  And for the first
history item, `up RET'.  That, plus searching (see below) would IMO be
a good UI.

>> As I see icomplete does the same when displaying completions in the
>> minibuffer.  So items could be sorted either by frequency or by recency
>> in the *Completions* buffer as well.

EZ> That only solves part of the use cases.  My typical history even for a
EZ> single day is very long, and will many times defeat these strategies.
EZ> We need to have a solution for such situations, which I believe is not
EZ> uncommon in Emacs uses.

Once you've entered the completion candidates selection UI, regular
letter keys can be used to filter the list by substring because you're
in a new keymap.  Like `Control-R' in a shell with libreadline history.


reply via email to

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