From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: help-gnu-emacs@gnu.org
Subject: Re: Completion: display of candidates
Date: Mon, 18 Feb 2019 13:05:14 -0500 [thread overview]
Message-ID: <jwvtvh1dm0a.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87mumtno2f.fsf@gnu.org> (Tassilo Horn's message of "Mon, 18 Feb 2019 15:55:36 +0100")
>>> 1. The docs for completion-table-dynamic say that the given function
>>> should return an alist
>> That's an error: the return value should be a completion table.
> So a "list of strings or cons cells, an obarray, a hash table, or a
> completion function".
Right. With the caveat that this function will not be consulted for
`completion-metadata` and `completion-boundaries` queries.
I just pushed a corresponding patch to `emacs-26`.
> When you know what to look for, you'll find it
> (in the info docs for try-completion).
It should also be described in `(elisp)Programmed Completion', as
suggested in the docstring.
> Yes, I could. I just thought that there's probably some kind of
> metadata I could attach for customizing the display.
It can't be "display only" since the user expects to type what is
displayed, so it also affects what the user types.
BTW, you might be interested in the GNU ELPA package `uniquify-files`
which tries to do almost exactly what you suggest (it requires a few
ugly hacks currently, but we hope to be able to improve the
minibuffer.el infrastructure so those can be dispensed with).
> So I guess the best thing to do is to format the entries as you suggest
> and put a text property on the text holding the absolute path so that I
> don't have to reconstruct it myself which could be error-prone if the
> directory or basename contain parens themselves.
You can't really rely on those text-properties, because the user may
have typed that text by hand.
Stefan
next prev parent reply other threads:[~2019-02-18 18:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-18 7:54 Completion: display of candidates Tassilo Horn
2019-02-18 13:26 ` Stefan Monnier
2019-02-18 14:55 ` Tassilo Horn
2019-02-18 18:05 ` Stefan Monnier [this message]
2019-02-18 19:24 ` Tassilo Horn
2019-02-18 20:48 ` Stefan Monnier
2019-02-19 7:27 ` Tassilo Horn
2019-02-19 15:28 ` Stefan Monnier
[not found] ` <87imxe1pfs.fsf@gnu.org>
2019-02-20 16:54 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvtvh1dm0a.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).