all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ergus <spacibba@aol.com>
To: Juri Linkov <juri@linkov.net>
Cc: Drew Adams <drew.adams@oracle.com>,
	Stefan Monnier <monnier@iro.umontreal.ca>,
	emacs-devel@gnu.org
Subject: Re: feature/completions-highlight-modifications e3c5b99 3/6: Add completions-highlight-mode initial implementation.
Date: Thu, 19 Nov 2020 11:50:52 +0100	[thread overview]
Message-ID: <20201119105052.kfichqojkhfwwsiz@Ergus> (raw)
In-Reply-To: <87d009kfmf.fsf@mail.linkov.net>

Hi Juri:

Thanks for your time ;)

On Thu, Nov 19, 2020 at 09:45:04AM +0200, Juri Linkov wrote:
>
>Thanks.  Please see more comments.
>
>
>To be able to merge the branch to master, all its features should work
>without problems, but the TAB cycling feature is broken by design:
>sometimes it scrolls completions window, sometimes moves to next completion.
>This behavior is unpredictable to users.
>
>So I suggest first to implement more straightforward features,
>and leave such controversial features at the last thing to do.
>
I agree. The current tab design is IMO broken by itself but that's not
something I intended to change. In any case the arrow keys are there in
a more consistent way to move... and as we know, there will be never an
agreement on this. So it is better if we find a way to set that
unilaterally to what we think is better and add a custom to disable
it.... More extensions, better alternatives and complains will come out
with the time whatever we do.
>
>This could also allow the user to select what keys to dispatch
>to the *Completions* buffer.  For example, TAB and S-TAB move
>to the next/previous completion in the *Completions* buffer,
>so it makes sense to do the same from the minibuffer as well
>(optionally).
>
I understand the idea, but IMO this is pointless. Because M-* or S-* is
not better than just pageup + whatever. I don't find the zsh behavior
confusing an that was my pattern from the beginning. I am worried
because adding more and more bindings (even with a prefix) may

a) Conflict with existing bindings/default current behavior

b) Lead some useless complex combinations like C-M-someting (that does
not work in the terminal very often BTW)

c) conflict with some frequently user-defined bindings. For example
S-arrow now is used to select the region and M-arrow to backward word

Maybe we should look more how zsh behaves... and try to mimic that as
much as possible. Because it is already pretty consisten
>
>Highlighting completion under point is useful on its own.
>It makes sense for the users to enable it separately from other features,
>like hl-line-mode is useful on its own.
>
>hl-line-mode is a mode because it can be useful in any buffer,
>but completion highlighting is useful only in the *Completions* buffer,
>so it can be a user option.
>
Yes, but this actually works as a hook, so we need to add/remove the
command to/from post-command-hook. That's easier and cleaner with a mode
(or a toggle-something command) than with a custom right?. (please,
remember I don't know the deep lisp secrets, so maybe there is actually
a better way)
>
>Adding much more code to simple.el is undesirable indeed, but
>for the completion highlighting feature it would take only
>~20 lines of code and option/face definition in minibuffer.el.
>
Indeed. I already did that on the beginning, but then I moved it
out. Actually If I can choose it will be better if all the *Completions*
stuff are moved to their own file... But that's a task for a good
developer, not me ;p. There is actuallu the completion.el I am not sure
what's there.

>All the remaining features need own package file indeed.
>BTW, the file name completions-highlight.el is too ugly
>as a package name.  An example of a good package/mode name is
>icomplete.el.  A new package that allows navigation
>of completions from the minibuffer could be like icomplete.el
>in other regards too: define the mode/keymap in the same way,
>use similar options/hooks, etc.

I agree, but we have display-fill-column, display-line-numbers... In any
case I don't care the name at all; so I will just ask here for names,
and when the war ends I just obey the winner orders.



  reply	other threads:[~2020-11-19 10:50 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20201115023629.19537.77471@vcs0.savannah.gnu.org>
     [not found] ` <20201115023631.C78AB20A27@vcs0.savannah.gnu.org>
2020-11-15 18:41   ` feature/completions-highlight-modifications e3c5b99 3/6: Add completions-highlight-mode initial implementation Stefan Monnier
2020-11-15 22:49     ` Ergus
2020-11-15 23:32       ` Stefan Monnier
2020-11-16  3:37         ` Ergus
2020-11-16  3:56           ` Stefan Monnier
2020-11-16  5:40             ` Drew Adams
2020-11-16  7:39             ` Ergus
2020-11-16  5:38           ` Drew Adams
2020-11-16  8:54             ` Juri Linkov
2020-11-16 10:27               ` Ergus
2020-11-16 20:23                 ` Juri Linkov
2020-11-16 21:16                   ` Drew Adams
2020-11-17  0:46                   ` Ergus
2020-11-17 20:02                     ` Juri Linkov
2020-11-17 20:52                       ` Drew Adams
2020-11-18 19:43                 ` Juri Linkov
2020-11-18 22:45                   ` Drew Adams
2020-11-19  3:25                   ` Ergus
2020-11-19  7:45                     ` Juri Linkov
2020-11-19 10:50                       ` Ergus [this message]
2020-11-20  9:32                         ` Juri Linkov
     [not found]                           ` <20201120145248.wmbv2zgbvs7bg25i@Ergus>
2020-11-21 19:30                             ` Juri Linkov
2020-11-22 13:28                               ` Ergus
2020-11-22 20:03                                 ` Juri Linkov
2020-11-22 23:09                               ` Ergus
2020-11-23  9:14                                 ` Juri Linkov
2020-11-23 11:46                                   ` Ergus
2020-11-23 14:13                                     ` Jean Louis
2020-11-23 19:12                                       ` Eli Zaretskii
2020-11-23 19:44                                         ` Jean Louis
2020-11-23 20:54                                     ` Dmitry Gutov
2020-11-23 23:27                                       ` Ergus via Emacs development discussions.
2020-12-10  1:16                                         ` Dmitry Gutov
2020-12-10  8:23                                           ` Juri Linkov
2020-11-25  8:49                                     ` Juri Linkov
2020-11-20 14:24                         ` Stefan Monnier
     [not found]                           ` <20201120144940.p55brblxpuowslag@Ergus>
2020-11-20 15:15                             ` Stefan Monnier
2020-11-16 16:03               ` Drew Adams
2020-11-16 20:28                 ` Juri Linkov
2020-11-16 21:31                   ` Drew Adams
2020-11-18 19:30                   ` Juri Linkov

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=20201119105052.kfichqojkhfwwsiz@Ergus \
    --to=spacibba@aol.com \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=juri@linkov.net \
    --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.