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: Drew Adams
Subject: RE: feature/completions-highlight-modifications e3c5b99 3/6: Add completions-highlight-mode initial implementation.
Date: Tue, 17 Nov 2020 12:52:34 -0800 (PST)

> > Basically we only need to add the command you propose like
> >
> > (defun ...
> >     (with-minibuffer-scroll-window scroll-up-command))
> >
> > And bind them... probably with a remap in
> > completions-highlight-minibuffer-map.
> 
> Yes, one command could do it all, for example:
> 
> (defun with-completions-selected-window ()
>   (interactive)
>   (with-selected-window (get-buffer-window "*Completions*" 0)
>     (when-let ((command (lookup-key (current-active-maps)
>                                     (this-single-command-keys))))
>       (call-interactively command))))
> (dolist (key '(up down left right next prior))
>   (define-key minibuffer-local-map `[(,key)] 'with-completions-
> selected-window))
> 
> It redirects all navigation keys from the minibuffer to the
> *Completions* buffer where they are bound to cursor motion commands.

I'll request again that you not bind `next' and
`prior' this way, so that they can be saved for
other uses.  (I described uses that Icicles makes.)

I'll also request that you not bind `left' and
`right' this way.  Those keys should be available
in the minibuffer for cursor movement there.

We should not be removing keys useful for ordinary
text editing from the minibuffer gratuitously.

`up' and `down', and `C-v' and `M-v', yes.  And
`wheel-(up|down)'.  Those make sense; others don't.

In addition, `C-v' and `M-v' for scrolling
*Completions* from the minibuffer should wrap.
And wrapping to the beginning should move point
past the help text to start of the candidates.

Icicles does these things, and has for a long time.
You're free to check the code it uses for them.
It's small and straightforward (see, e.g.,
`icicle-scroll-Completions-forward').

https://www.emacswiki.org/emacs/download/icicles-mcmd.el



reply via email to

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