emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: feature/completions-highlight-modifications e3c5b99 3/6: Add complet


From: Juri Linkov
Subject: Re: feature/completions-highlight-modifications e3c5b99 3/6: Add completions-highlight-mode initial implementation.
Date: Fri, 20 Nov 2020 11:32:30 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu)

> 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

But don't arrow keys cause more conflicts?  They are used in the minibuffer
with their default bindings left/right-char, previous/next-line.

This is the reason why icomplete provides less natural keybindings
'C-.' and 'C-,' to move to the previous/next completion.

> Maybe we should look more how zsh behaves... and try to mimic that as
> much as possible. Because it is already pretty consisten

Does zsh use arrow keys to navigate in completions?
How then it's possible to get previous/next history item (up/down arrows),
and move the cursor in the command line (left/right arrows)?

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

With a defcustom it's easier to the user to enable completion highlighting
in the *Completions* buffer.  How the user could do the same using hooks?

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

completion.el provides dynamic-completion-mode.

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

display-fill-column-indicator.el wins the prize for the longest file name
in Emacs repo, display-line-numbers.el is a forerunner :-)

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

Sorry, I have no enough fantasy to come up with a good name.
Maybe someone could help to invent a better name?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]