emacs-devel
[Top][All Lists]
Advanced

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

Re: Feature branches review please


From: Jean Louis
Subject: Re: Feature branches review please
Date: Thu, 5 Nov 2020 20:22:50 +0300
User-agent: Mutt/+ (1036f0e) (2020-10-18)

* Gregory Heytings <ghe@sdf.org> [2020-11-05 19:10]:
> 
> > 
> > I hope that functions are made in the spirit of ivy and helm so that I
> > can build completion based system for any choices, not only minibuffer
> > built-in choices.
> [...]
> > 
> > (ivy-completing-read PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH
> > INITIAL-INPUT HISTORY DEF INHERIT-INPUT-METHOD)
> > 
> 
> In fact it's the opposite, that function is made in the spirit of Emacs'
> built-in completing-read function: (completing-read PROMPT COLLECTION
> &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF
> INHERIT-INPUT-METHOD)
> 
> > 
> > - full window support, like poping out of minibuffer to full window
> > 
> 
> I'm not sure I understand what you mean, but it seems to me that this is a
> standard feature when reading from the minibuffer, when you press TAB a
> *Completions* buffer opens.

I mean that icomplete should provide function for others:
`icomplete-completing-read' just in the spirit of Emacs.

> > - actions like ivy with M-o or helm with TAB
> > 
> 
> This I don't know, what do you mean by "actions"?

Thank you, thank you.

I also forgot to mention multiple choice.

Let us say I have a list COLLECTION, I can feed it into

- helm-completing-read
- ido-completing-read
- ivy-completing-read

there may be others. Some of them automatically replace the built-in
completing read.

Now in helm and ivy (what as that is all what I know until now), there
are "actions" which can determine what to do on the specific
selection. In helm I can press TAB to see actions, then I can choose
one of actions. In Ivy I press M-o

For example if ivy-mode is turned on, I can do C-x b and there is list
of buffers with incremental search, I can press M-o and I can see
actions: insert, copy, find file, other window, kill and
rename. Actions are customizable

As I prefer working with built-ins and reusing the built-in Emacs Lisp
functions, that is why I am asking you. Ivy is in GNU ELPA, helm is
outside of GNU ELPA, but best would be to have vertical completion
similar to both of them, but built-in.

Another point is that icomplete-completing-read should allow multiple
selections. In helm I can select with C-SPC multiple lines or choices.

Summary;

- if possible, provide multiple choices for icomplete, so that
  multiple list items can be returned

- provide actions on the selection, as default action is when I
  choose it, but I could have different selection. For example default
  action would be to view contact details, but I could have selection
  to send email to contact.

- incremental search is I guess there, I did not try that yet

- I like when completion function can find it in reverse, for example
  when writing words "Doe John" can select "He was John Doe"

I would be eventually using ido-mode, but it is not adequate and does
not have vertical incremental serach. Helm is best so far but it is
overkill for many applications. So now I am using `ivy-mode' as it is
in GNU ELPA. Even better would be to have incremental visual selection
with icomplete-* if it will come into main Emacs.

Jean



reply via email to

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