From: Dmitry Gutov <dgutov@yandex.ru>
To: "João Távora" <joaotavora@gmail.com>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>,
emacs-devel <emacs-devel@gnu.org>
Subject: Re: BIKESHED: completion faces
Date: Wed, 6 Nov 2019 10:18:42 +0200 [thread overview]
Message-ID: <b3d79fa9-37ae-8b24-6c12-f9d60afbb57d@yandex.ru> (raw)
In-Reply-To: <87sgn1yl4b.fsf@gmail.com>
On 06.11.2019 1:11, João Távora wrote:
>>> Best solutions arise when we can understand exactly what it is that
>>> people like about current defaults, and can accomodate that specific
>>> preference in a new system, so that they barely notice it.
>>
>> That sounds like a change in defaults, though.
>
> Yes, but much more controlled. This particular change in defaults so is
> done so that the explanatory part that people (presumably) like about
> the current 'basic' match highlighting is still preserved.
I might have missed what you are referring to here exactly.
>> Your proposal would add a different styling for different completion
>> styles. That would require some code as well, likely a similar amount.
>
> No, we are not talking about the same thing. In my latest proposal, two
> faces are renamed, obsolete alias are created, and
> completion-pcm--hilit-commonality is trivially changed to use
> 'completions-emphasis' instead of 'completions-common'.
OK.
Renames aside, you'll have completions-common use bold, right? And hide
first-difference.
The first one will result in long annoying columns with prefix-only
completion (this won't happen in other editors because a) they use flex,
b) popup is limited in height), the second one will remove a bit of
extra information.
>>> > > The former part can be improved in flex, the latter can't: it's
>>> > > intrinsic to the technique.
>>> > All can be improved, just with varying degrees of difficulty.
>>> Sure, a pig and a large enough rocket...
>>
>> Is that because the current completion system is not optimal for flex?
>
> No, no. I just lightheartedly commented that in response to your "all
> can be improved". Like "all animals can fly, even pigs, provided you
> attach a large enough rocket".
That kind of discounts the valid and useful avenues for improvement we
still have.
>> algorithm itself, but any subsequent bottlenecks would not be triggered.
>>
>> This approach really relies on good and fast scoring, though.
>
> If we're going to do extensive changes in the name of performance, isn't
> it better to use Daniel's generator.el library? It sounds like just the
> thing.
Last I checked, it's not very relevant. Or if it is, it'll just be a
minor implementation detail.
>>> > One just has to make sure not to cache the result improperly.
>>> Cache invalidation, one of the "hard" problems in computing. Buying
>>> trouble, I say.
>> Let us not forget that we're competing with other editors who
>> routinely show off flex matching and somehow deal with accompanying
>> performance problems.
>
> Possibly/probably by using delayed evaluation techniques.
My limiting the number of completions, most likely. And/or doing it all
in C++/Java.
>>> > As you can imagine, IMHO this part "making sense" is less important than
>>> > the consistency in highlighting.
>>> It's only "inconsistent" if you you refuse to accept that concepts
>>> such
>>> as "relevance" or "emphasis" are more important the specifics of the
>>> matching technique implemented.
>> I'm more interested in highlighting being consistent and relevant to
>> whatever the next action the user should perform.
>
> And that's cool, I maintain that this isn't broken at all by my
> proposal. Can you explain how it would be?
Hiding first-difference will lose some info when suffix is non-empty.
next prev parent reply other threads:[~2019-11-06 8:18 UTC|newest]
Thread overview: 169+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-27 1:58 BIKESHED: completion faces Stefan Monnier
2019-10-27 11:34 ` João Távora
2019-10-27 21:45 ` Juri Linkov
2019-10-28 0:43 ` João Távora
2019-10-28 22:29 ` Juri Linkov
2019-10-28 23:31 ` João Távora
2019-10-29 21:53 ` Juri Linkov
2019-10-29 22:09 ` Dmitry Gutov
2019-10-29 22:57 ` João Távora
2019-10-29 1:12 ` Stefan Monnier
2019-10-29 21:58 ` Juri Linkov
2019-10-29 22:59 ` João Távora
2019-10-29 23:11 ` Dmitry Gutov
2019-10-30 1:49 ` Stefan Monnier
2019-11-03 21:53 ` Dmitry Gutov
2019-11-03 23:30 ` Stefan Monnier
2019-11-04 16:30 ` Dmitry Gutov
2019-11-04 18:31 ` Stefan Monnier
2019-11-04 22:52 ` João Távora
2019-11-04 23:25 ` Dmitry Gutov
2019-11-05 11:10 ` João Távora
2019-11-05 14:57 ` Dmitry Gutov
2019-11-05 15:44 ` Stefan Monnier
2019-11-05 16:30 ` João Távora
2019-11-05 21:27 ` Juri Linkov
2019-11-05 23:06 ` Stefan Monnier
2019-11-05 22:01 ` Dmitry Gutov
2019-11-06 0:18 ` Stefan Monnier
2019-11-06 8:24 ` Dmitry Gutov
2019-11-06 13:42 ` VOTE: Changing completions-common-part face's default Stefan Monnier
2019-11-06 17:16 ` João Távora
2019-11-06 17:26 ` Dmitry Gutov
2019-11-06 18:10 ` João Távora
2019-11-06 22:20 ` Dmitry Gutov
2019-11-06 22:42 ` João Távora
2019-11-06 22:57 ` Dmitry Gutov
2019-11-06 23:14 ` Stefan Monnier
2019-11-07 8:09 ` Dmitry Gutov
2019-11-07 10:27 ` João Távora
2019-11-07 13:27 ` Yuri Khan
2019-11-07 13:52 ` João Távora
2019-11-07 14:41 ` Yuri Khan
2019-11-07 14:57 ` João Távora
2019-11-07 16:04 ` Stefan Monnier
2019-11-07 16:09 ` João Távora
2019-11-07 14:43 ` Dmitry Gutov
2019-11-07 14:54 ` João Távora
2019-11-07 14:33 ` Dmitry Gutov
2019-11-07 14:44 ` João Távora
2019-11-07 14:58 ` Dmitry Gutov
2019-11-07 15:54 ` João Távora
2019-11-07 16:57 ` Drew Adams
2019-11-08 23:38 ` Dmitry Gutov
2019-11-09 0:24 ` João Távora
2019-11-09 1:53 ` Drew Adams
2019-11-09 21:57 ` Juri Linkov
2019-11-09 22:17 ` João Távora
2019-11-09 7:30 ` Eli Zaretskii
2019-11-09 11:42 ` João Távora
2019-11-09 12:04 ` Eli Zaretskii
2019-11-09 13:22 ` João Távora
2019-11-09 16:44 ` Drew Adams
2019-11-07 15:08 ` Stefan Monnier
2019-11-08 10:15 ` Dmitry Gutov
2019-11-08 19:19 ` Stefan Monnier
2019-11-08 19:43 ` Eli Zaretskii
2019-11-08 21:42 ` Stefan Monnier
2019-11-09 6:52 ` Eli Zaretskii
2019-11-09 15:25 ` Stefan Monnier
2019-11-09 15:52 ` Eli Zaretskii
2019-11-09 16:17 ` Stefan Monnier
2019-11-08 20:11 ` Dmitry Gutov
2019-11-08 22:57 ` João Távora
2019-11-06 23:12 ` Stefan Monnier
2019-11-05 16:31 ` BIKESHED: completion faces João Távora
2019-11-05 22:22 ` Dmitry Gutov
2019-11-05 23:11 ` João Távora
2019-11-06 8:18 ` Dmitry Gutov [this message]
2019-11-06 8:53 ` João Távora
2019-11-06 15:16 ` Dmitry Gutov
2019-11-06 15:56 ` João Távora
2019-11-06 10:25 ` João Távora
2019-11-06 15:11 ` Dmitry Gutov
2019-11-06 15:31 ` João Távora
2019-11-06 15:43 ` Dmitry Gutov
2019-11-06 15:48 ` João Távora
2019-11-06 16:01 ` Dmitry Gutov
2019-11-06 16:20 ` Eli Zaretskii
2019-11-06 21:36 ` Juri Linkov
2019-11-07 14:25 ` Eli Zaretskii
2019-11-07 22:40 ` Juri Linkov
2019-11-08 6:43 ` Eli Zaretskii
2019-11-06 16:12 ` Eli Zaretskii
2019-11-06 16:14 ` João Távora
2019-11-06 0:24 ` Stefan Monnier
2019-11-05 18:36 ` Stefan Monnier
2019-11-05 18:51 ` Eli Zaretskii
2019-11-05 19:16 ` João Távora
2019-11-05 19:23 ` Eli Zaretskii
2019-11-05 21:43 ` João Távora
2019-11-06 16:03 ` Eli Zaretskii
2019-11-06 16:26 ` João Távora
2019-11-06 18:07 ` Eli Zaretskii
2019-11-06 18:14 ` João Távora
2019-11-06 18:29 ` Eli Zaretskii
2019-11-06 18:48 ` João Távora
2019-11-06 20:51 ` Ergus
2019-11-07 14:08 ` Eli Zaretskii
2019-11-07 14:28 ` João Távora
2019-11-07 14:47 ` Eli Zaretskii
2019-11-07 15:00 ` João Távora
2019-11-07 15:40 ` Eli Zaretskii
2019-11-07 16:00 ` João Távora
2019-11-07 17:39 ` Eli Zaretskii
2019-11-07 17:53 ` João Távora
2019-11-07 18:16 ` Eli Zaretskii
2019-11-07 18:37 ` João Távora
2019-11-07 21:07 ` Eli Zaretskii
2019-11-07 21:43 ` João Távora
2019-11-08 6:35 ` Eli Zaretskii
2019-11-08 10:15 ` João Távora
2019-11-08 14:02 ` Eli Zaretskii
2019-11-08 15:09 ` João Távora
2019-11-08 15:33 ` Eli Zaretskii
2019-11-08 16:01 ` João Távora
2019-11-08 16:16 ` Eli Zaretskii
2019-11-08 16:27 ` João Távora
2019-11-08 17:05 ` Eli Zaretskii
2019-11-08 17:21 ` João Távora
2019-11-08 19:06 ` Eli Zaretskii
2019-11-08 22:49 ` João Távora
2019-11-09 6:57 ` Eli Zaretskii
2019-11-09 11:20 ` João Távora
2019-11-09 11:51 ` Eli Zaretskii
2019-11-09 12:14 ` João Távora
2019-11-09 12:19 ` Eli Zaretskii
2019-11-09 13:29 ` João Távora
2019-11-09 13:52 ` João Távora
2019-11-09 15:31 ` Eli Zaretskii
2019-11-09 18:51 ` João Távora
2019-11-10 9:18 ` Dmitry Gutov
2019-11-14 9:45 ` Eli Zaretskii
2019-11-14 10:40 ` Dmitry Gutov
2019-11-14 14:16 ` Eli Zaretskii
2019-11-14 14:19 ` João Távora
2019-11-14 14:42 ` Eli Zaretskii
2019-11-14 14:49 ` João Távora
2019-11-16 20:10 ` Juri Linkov
2019-11-16 23:40 ` João Távora
2019-11-17 17:27 ` Eli Zaretskii
2019-11-17 17:47 ` João Távora
2019-11-08 12:58 ` Stefan Monnier
2019-11-08 13:08 ` João Távora
2019-11-08 14:07 ` Eli Zaretskii
2019-11-06 20:34 ` Drew Adams
2019-11-06 20:42 ` Eli Zaretskii
2019-11-05 21:40 ` Dmitry Gutov
2019-11-05 23:02 ` Stefan Monnier
2019-11-05 18:54 ` João Távora
2019-11-05 19:07 ` Stefan Monnier
2019-11-05 21:39 ` Dmitry Gutov
2019-11-05 21:54 ` João Távora
2019-11-05 21:55 ` Dmitry Gutov
2019-11-05 21:54 ` Dmitry Gutov
2019-11-05 21:58 ` João Távora
2019-11-05 22:03 ` Dmitry Gutov
2019-11-05 22:07 ` João Távora
[not found] <<jwvwocr7yt6.fsf-monnier+emacs@gnu.org>
[not found] ` <<b7e361ee-6fc4-b52e-3bd2-1f6862bbcf23@yandex.ru>
[not found] ` <<jwva79jyqrp.fsf-monnier+emacs@gnu.org>
[not found] ` <<4c5631d4-9dfd-04c6-c573-b83c67fcc2fa@yandex.ru>
[not found] ` <<jwvd0e8k0gi.fsf-monnier+emacs@gnu.org>
[not found] ` <<c6718807-b3fc-5bed-6a4b-b1ccc52649de@yandex.ru>
[not found] ` <<87pni7p83l.fsf@gmail.com>
[not found] ` <<fdec6d86-e1b9-19cb-18aa-ef835972f315@yandex.ru>
[not found] ` <<jwv8soub2u5.fsf-monnier+emacs@gnu.org>
[not found] ` <<83h83ignrz.fsf@gnu.org>
[not found] ` <<CALDnm50SjOOKOiZVmdNJc8zVsfZXbPQcBOYoeJe9MbO62Lartw@mail.gmail.com>
[not found] ` <<83ftj2gma8.fsf@gnu.org>
[not found] ` <<87zhhaxalt.fsf@gmail.com>
[not found] ` <<83bltpgffr.fsf@gnu.org>
[not found] ` <<CALDnm50YW0cjdN1Z7eJs6K-dXpfwp1VOe3NPi6WH+iF1oU1HmA@mail.gmail.com>
[not found] ` <<83tv7gg9oz.fsf@gnu.org>
[not found] ` <<7916c845-1ce2-4abd-937f-09036cd60bec@default>
[not found] ` <<83pni4g2iq.fsf@gnu.org>
2019-11-06 21:40 ` Drew Adams
2019-11-07 14:19 ` Eli Zaretskii
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=b3d79fa9-37ae-8b24-6c12-f9d60afbb57d@yandex.ru \
--to=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
--cc=joaotavora@gmail.com \
--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 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.