|
From: | Dmitry Gutov |
Subject: | Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations |
Date: | Wed, 2 Jun 2021 15:31:34 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
On 02.06.2021 14:33, João Távora wrote:
On Wed, Jun 2, 2021 at 12:28 PM Dmitry Gutov <dgutov@yandex.ru> wrote:It waits before fetching completions if input it too short. To save on CPU usage or whatever.Makes sense. Even though it can be interrupted, doesn't mean we should start spinning up fans.
OTOH, ido-mode has lived with the "spinning up fans" behavior for ages, and we don't hear much complaints about that. Or fan noise, really.
The proposed change doesn't add any latency. And it would be helpful to have it working OOTB. But maybe disable if the user customizes the delay to be higher.Indeed it doesn't, just tried it. So I have even less objection to doing it. Do you have a take on the reasons for this `icomplete-tidy` call in pre-command-hook?
All the justifications for the current behavior you have come up with already, I suppose. Here and in the related Company discussion.
Simpler mental model, a guarantee of no "inconsistent" display, I suppose. But the flicking is real annoying, it's one of the things that has stopped my from migrating to fido-mode (somewhat lower performance is the other).
Anyway, the weirdness (and less flickering) could be solved by replacing xx/xx with of the same length ??/?? instead of deleting the overlay outright. But I'm fine with the weirdness too, to be honest. My main concern was typing latency, and it doesn't happen.
It might make sense to keep them at the previous values, to emphasize that the output simply hasn't been updated yet. And to keep the prompt from moving around twice.
As long as the delay is not too high (meaning, we do make it lower than 100ms), that behavior looks natural enough. The user just gets used to "asynchronous" updates.
Here's one edge case that might warrant some looking into: - fido-mode on (but not -vertical-mode). - Have, like, only 2 buffers open. - C-x bStart typing an existing buffer's name, in the way that would create a unique prefix match. icomplete will render it with cutoff prefix, like
ico[mplete.el]where "ico" is input. If I backspace and type "o" again, there will be an interval of time when two "o" will be shown. That looks kinda weird, but probably still better than having it blink. Hopefully, this behavior could still be improved, though.
[Prev in Thread] | Current Thread | [Next in Thread] |