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: Juri Linkov
Subject: Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations
Date: Fri, 28 May 2021 21:46:40 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu)

> For example in the case of `describe-symbol`, there would be these columns:
>
> * keybinding (only supplied for commands)
> * type (customizable-variable, command, function, variable, face, ...)
> * description (first line of docstring)
> * maybe more?
>
> So it would be a positive impact if candidates could be annotated with
> arbitrary fields, which the frontend does not know beforehand. The only
> thing the frontend must support is the type of the fields. There could
> be frontends supporting strings, numbers, images, audio, ...
>
> From how I understood Juri in a mail a while ago, he was talking about
> exactly such a tablist frontend. So I would like to hear his opinion on
> this question.

1. A simple call with a string candidate could return its supported fields:

(funcall resolution/decoration-function "candidate")
⇒
(:prefix "prefix" :suffix "suffix" :my-annotation1 "suffix1" :my-annotation2 
"suffix2" ...)

2. A call with nil instead of the string candidate could return
the metadata of all supported fields, e.g.:

(funcall resolution/decoration-function nil)
⇒
((:name :prefix
  :type 'string)
 (:name :suffix
  :type 'string)
 (:name :my-annotation1
  :type 'number
  :tags '(:expensive-field :unstable))
 (:name :my-annotation2
  :type 'image)
 (:name :tablist
  :type 'list))

3. A call with an additional field could restrict the output only
to that field:

(funcall resolution/decoration-function "candidate" :prefix)
⇒
"prefix"



reply via email to

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