unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "João Távora" <joaotavora@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: scratch/backend-completion 9a62da21c2 1/2: Integrate Stefan suggestions but rename it to "external-completion.el"
Date: Sun, 4 Dec 2022 10:02:39 +0000	[thread overview]
Message-ID: <CALDnm51DybnXiJf4995fEscV+5nwg1BbPeUq3csHtC1=_NPj0A@mail.gmail.com> (raw)
In-Reply-To: <jwvo7skyqa0.fsf-monnier+emacs@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 1202 bytes --]

On Sun, Dec 4, 2022, 00:31 Stefan Monnier <monnier@iro.umontreal.ca> wrote:.

>
> For prefix completion, it works great.
> For completion styles like `flex`, it's rarely able to complete anything.


Alright, that helps, thanks. But what use can you imagine try-completion
having with an external tool like LSP or my everything.exe client which
does regex-style?  Or some other external tool you can think of...

Is it perhaps that the caller of our new function might look at the tool's
results for PATTERN and then, knowing the implicit style the tool is
employing, use TRY-COMPLETION-FUNCTION to extend  the string being used for
PATTERN at the completion locus?  This would make some sense, but then
again probably only be actually useful if the caller is adept of caching
the results of the calls to LOOKUP.

Else, I think we end up contacting the external tool one too many times for
the same PATTERN. That's at least with the popular completion front-ends
such as fido/vertico who probably go for the 'allc' immediately.

Maybe  'external-completion-function' could be doing some
per-table-per-PATTERN caching, to relieve the caller of this complication.

João

>
>

[-- Attachment #2: Type: text/html, Size: 1917 bytes --]

  reply	other threads:[~2022-12-04 10:02 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <167007345844.23701.8454474119701440468@vcs2.savannah.gnu.org>
     [not found] ` <20221203131739.3FCF9C004BE@vcs2.savannah.gnu.org>
2022-12-03 14:10   ` scratch/backend-completion aaaa016056 2/2: Speed it up Stefan Monnier
2022-12-03 23:30     ` João Távora
2022-12-04  0:18       ` Stefan Monnier
2022-12-04 11:11         ` João Távora
     [not found] ` <20221203131739.2A601C004BA@vcs2.savannah.gnu.org>
2022-12-03 14:26   ` scratch/backend-completion 9a62da21c2 1/2: Integrate Stefan suggestions but rename it to "external-completion.el" Stefan Monnier
2022-12-03 23:36     ` João Távora
2022-12-04  0:31       ` Stefan Monnier
2022-12-04 10:02         ` João Távora [this message]
2022-12-04 16:54           ` Stefan Monnier
2022-12-04 20:04             ` João Távora
2022-12-06  0:14               ` Stefan Monnier
2022-12-07 11:09                 ` João Távora
2022-12-07 13:56                   ` Eli Zaretskii
2022-12-07 19:09                     ` João Távora

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='CALDnm51DybnXiJf4995fEscV+5nwg1BbPeUq3csHtC1=_NPj0A@mail.gmail.com' \
    --to=joaotavora@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).