emacs-devel
[Top][All Lists]
Advanced

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

Re: Updating *Completions* as you type


From: Spencer Baugh
Subject: Re: Updating *Completions* as you type
Date: Wed, 18 Oct 2023 12:25:15 +0000 (UTC)

Juri Linkov <juri@linkov.net> writes:
>>>> Also, tangentially, I think probably we should rework
>>>> minibuffer-complete-history and minibuffer-complete-defaults to be
>>>> persistent - as in, regular TAB afterwards continues to complete history
>>>> or defaults.  And there should be some way to reset back to normal.
>>>> That would be a good complement to this completions-sort change, by
>>>> maybe giving a way to switch on-demand to alphabetical sorting.  (I've
>>>> long thought this would be good and useful, but in particular it's
>>>> relevant for completions-auto-update since that will otherwise nearly
>>>> immediately reset the displayed completions back to normal.)
>>>
>>> I think we should choose a key to toggle completion type between
>>> history/default/regular completion.
>>
>> That works too of course, although it causes some more proliferation of
>> keys.
>>
>> I'm curious, what is the intended usage of
>> minibuffer-complete-{history,defaults}?  The fact that they only do a
>> single completion has made them not very usable for me.
>
> The currently limited use case is that you can type a substring,
> then TAB and select the completion from the list.  You are welcome
> to improve this as well.
>
>>> Actually for 'C-x b' I'd prefer to sort buffers by the order of 
>>> (buffer-list),
>>> not by the order buffers occur in the minibuffer history (that I'd like
>>> to use for everything else).
>>
>> Reasonable.  I suggest that this should be achieved by adding a
>> display-sort-function, though.  (And... actually, that
>> display-sort-function could maybe just be identity, since the
>> completions are generated from buffer-list so they are in that order
>> anyway?)
>
> Actually there is already a nil value in completions-sort with the tag
> "No sorting".  This works nicely for 'C-x b'.  The remaining need is
> to be able to set it only for 'C-x b', not for other completion types.

I feel quite strongly that we should not extend completions-sort to be
able to affect different completion types differently.  Instead I think
we should leave completions-sort as a blanket configuration for what to
do if the completion metadata does not specify display-sort-function,
and if we want to allow customizing an individual completion type, that
completion type should specify a display-sort-function which can be
customized.

If we do extend completions-sort to affect different completion types
differently, I expect we'll see lots of silly things, like packages with
new completion types which automatically install changes to
completions-sort instead of just specifying their own
display-sort-function.



reply via email to

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