emacs-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and,


From: Daniel Mendler
Subject: Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations
Date: Tue, 1 Jun 2021 17:41:04 +0200

On 6/1/21 5:33 PM, Gregory Heytings wrote:
> 
>>> And as I said users might want to display these annotations with their 
>>> own formatting, e.g. to display only some but not all of them in the 
>>> minibuffer.
>>
>> This is not a good idea in my opinion, at least for the 
>> `annotation-functions`. Annotations are only strings, there is not much 
>> formatting the user can do here.
>>
> 
> That's your opinion.  Some users might want to display only the prefix, or 
> only the suffix, or the prefix and the suffix after the completion 
> candidate, or display the suffix with only one space between the candidate 
> and the suffix, or filter prefixes and suffixes (IOW display only some but 
> not all of them), and so forth.

The annotation function only supports suffixes. Allowing the user to
decide to display or filter the annotations is not a reasonable use
case. I've written numerous commands relying on annotations/affixations
and so far I've not heard this request of yours. This means that there
is no wide demand for such an override feature and there is no need to
offer this configuration option. But you can of course implement this in
your own user configuration by overwriting the
`annotation/affixation-function`.

If you want to convince me, please present an example command where you
want to filter/modify the annotations as a user and which modification
you want to apply. If there is a reasonable use case, I am not against
offering tweaking capabilities. But if it is a very special fringe use
case or otherwise heavy customization, you can already use advices. You
may have seen our Marginalia package? This package does exactly that, it
overwrites the annotation function with a more advanced version, which
shows much more data and wastes more CPU cycles ;)

The question is really if we need something on the level of the user
configuration or if the existing Elisp facilities suffice. Since all
these overrides you have in mind are of course already possible.

Daniel



reply via email to

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