From: Morgan Willcock <morgan@ice9.digital>
To: Eshel Yaron <me@eshelyaron.com>
Cc: 73234@debbugs.gnu.org
Subject: bug#73234: 30.0.91; completion-preview-mode doesn't trigger for case-insensitive capf
Date: Sat, 14 Sep 2024 10:53:23 +0100 [thread overview]
Message-ID: <871q1m36jw.fsf@ice9.digital> (raw)
In-Reply-To: <m1mska7oox.fsf@dazzs-mbp.home> (Eshel Yaron's message of "Sat, 14 Sep 2024 08:07:58 +0200")
Eshel Yaron <me@eshelyaron.com> writes:
Hi Eshel,
> We could display the completion preview also when you type a prefix that
> differs from a candidate prefix only in case (and in fact we already do,
> when completion-ignore-case is non-nil), but the question is what to do
> when you accept/insert this completion. Namely, changing the prefix
> from "tes" to "Tes" when you accept the completion suggestion adds
> complications both in terms of implementation and in terms of UX, and
> I'm not sure that this added complexity would be justified.
My expectation was that a "completion preview" is using exactly the same
criteria as the default completion mechanism, and would indicate when a
completion was available to use.
The difference in the behaviour also means completion-preview-mode
cannot reliably be used as the entry-point (by repeatedly calling
completion-preview-complete) for the completion interface.
> Do you have, or know of, a concrete use case with a completion table
> that behaves like your test-completion-at-point-function?
I think it would be rare to see one explicitly set to be
case-insensitive, but I found the issue because I use a Cape capf
transformer to wrap an existing capf backend:
https://elpa.gnu.org/packages/doc/cape.html#Capf-transformers
It is feasible to do that for any language where the syntax is
case-insensitive. Here is an example of it being done:
https://git.sr.ht/~mew/kixtart-mode/tree/v1.3.2/item/doc/kixtart-mode.texi#L804
(I wrote this mode and its manual, but anyone using cape-capf-case-fold
is likely to see the same problem.)
Thanks,
Morgan
--
Morgan Willcock
next prev parent reply other threads:[~2024-09-14 9:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 19:23 bug#73234: 30.0.91; completion-preview-mode doesn't trigger for case-insensitive capf Morgan Willcock
2024-09-14 6:07 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-09-14 9:53 ` Morgan Willcock [this message]
2024-09-14 16:23 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-09-14 20:46 ` Morgan Willcock
2024-09-15 6:40 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-09-17 19:03 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-09-18 20:23 ` Morgan Willcock
2024-09-19 5:39 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-09-19 14:59 ` Morgan Willcock
2024-09-20 9:27 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-09-20 10:05 ` Morgan Willcock
2024-09-20 10:34 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871q1m36jw.fsf@ice9.digital \
--to=morgan@ice9.digital \
--cc=73234@debbugs.gnu.org \
--cc=me@eshelyaron.com \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.