* Making completion more interactive
@ 2014-12-10 20:38 Tom
2014-12-10 20:43 ` Óscar Fuentes
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Tom @ 2014-12-10 20:38 UTC (permalink / raw)
To: emacs-devel
Modern completion systems usually show completions
automatically. You just type and the completions are shown. This
is how it works in various applications, google, etc.
Currently, the builtin completion uses TAB for three purposes.
- showing the completion list for the current input
- completing the common part of the completions
- scrolling the completion list
The 2nd and 3rd could keep doing what it does, but in the first
case TAB could be eliminated, and completions could be shown
automatically as the user types either immediately or after a
slight delay when the user stops typing.
TAB completion could be kept for cases when completion is
costly (e.g. via TRAMP), but in cases where completion is done
from memory (e.g. M-x) completion candidates could be shown
automatically without having to press TAB to show them.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 20:38 Making completion more interactive Tom
@ 2014-12-10 20:43 ` Óscar Fuentes
2014-12-10 20:51 ` Tom
2014-12-10 21:24 ` Fabrice Niessen
2014-12-10 20:52 ` Eli Zaretskii
2014-12-10 22:07 ` Stefan Monnier
2 siblings, 2 replies; 10+ messages in thread
From: Óscar Fuentes @ 2014-12-10 20:43 UTC (permalink / raw)
To: emacs-devel
Tom <adatgyujto@gmail.com> writes:
> Modern completion systems usually show completions
> automatically. You just type and the completions are shown. This
> is how it works in various applications, google, etc.
Yes, it's hideous :-)
However, some packages like company-mode do nor require to press a key
to show the completion candidates, it works like you describe.
[snip]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 20:43 ` Óscar Fuentes
@ 2014-12-10 20:51 ` Tom
2014-12-11 5:46 ` Stephen J. Turnbull
2014-12-10 21:24 ` Fabrice Niessen
1 sibling, 1 reply; 10+ messages in thread
From: Tom @ 2014-12-10 20:51 UTC (permalink / raw)
To: emacs-devel
Óscar Fuentes <ofv <at> wanadoo.es> writes:
>
> Tom <adatgyujto <at> gmail.com> writes:
>
> > Modern completion systems usually show completions
> > automatically. You just type and the completions are shown. This
> > is how it works in various applications, google, etc.
>
> Yes, it's hideous
I think most people like this behavior.
> However, some packages like company-mode do nor require to press a key
> to show the completion candidates, it works like you describe.
Yes, I know about them. My suggestion is about making the
default completion more modern. There can be an option of course
to disable it for those who like pressing TAB.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 20:38 Making completion more interactive Tom
2014-12-10 20:43 ` Óscar Fuentes
@ 2014-12-10 20:52 ` Eli Zaretskii
2014-12-10 20:59 ` Tom
2014-12-10 22:07 ` Stefan Monnier
2 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2014-12-10 20:52 UTC (permalink / raw)
To: Tom; +Cc: emacs-devel
> From: Tom <adatgyujto@gmail.com>
> Date: Wed, 10 Dec 2014 20:38:19 +0000 (UTC)
>
> Modern completion systems usually show completions
> automatically. You just type and the completions are shown. This
> is how it works in various applications, google, etc.
>
> Currently, the builtin completion uses TAB for three purposes.
>
> - showing the completion list for the current input
> - completing the common part of the completions
> - scrolling the completion list
>
> The 2nd and 3rd could keep doing what it does, but in the first
> case TAB could be eliminated, and completions could be shown
> automatically as the user types either immediately or after a
> slight delay when the user stops typing.
Did you try Icomplete mode?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 20:52 ` Eli Zaretskii
@ 2014-12-10 20:59 ` Tom
2014-12-11 3:35 ` Eli Zaretskii
0 siblings, 1 reply; 10+ messages in thread
From: Tom @ 2014-12-10 20:59 UTC (permalink / raw)
To: emacs-devel
Eli Zaretskii <eliz <at> gnu.org> writes:
>
> Did you try Icomplete mode?
>
Yes, but it's just like iswitchb, isn't it?
I'm talking about improving the default completion
experience. Is there a reason for not listing completions
automatically? It's just a more fluid user experience.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 20:43 ` Óscar Fuentes
2014-12-10 20:51 ` Tom
@ 2014-12-10 21:24 ` Fabrice Niessen
1 sibling, 0 replies; 10+ messages in thread
From: Fabrice Niessen @ 2014-12-10 21:24 UTC (permalink / raw)
To: emacs-devel-mXXj517/zsQ
Óscar Fuentes wrote:
> Tom <adatgyujto-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
>
>> Modern completion systems usually show completions
>> automatically. You just type and the completions are shown. This
>> is how it works in various applications, google, etc.
>
> Yes, it's hideous :-)
>
> However, some packages like company-mode do nor require to press a key
> to show the completion candidates, it works like you describe.
I think a trade-off would make a lot of sense:
- display (in gray or whatever) the potential completion, when there is
only _one_ candidate left (that is: no menu)
- display the potential candidates in the menu (when there are more than
one) only when explicitly asked by the user (when pressing TAB, for
example).
This would be between "always displays completions" and "only display
them on TAB"...
Best regards,
Fabrice
--
Fabrice Niessen
Leuven, Belgium
http://www.pirilampo.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 20:38 Making completion more interactive Tom
2014-12-10 20:43 ` Óscar Fuentes
2014-12-10 20:52 ` Eli Zaretskii
@ 2014-12-10 22:07 ` Stefan Monnier
2014-12-11 1:23 ` Artur Malabarba
2 siblings, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2014-12-10 22:07 UTC (permalink / raw)
To: Tom; +Cc: emacs-devel
> Modern completion systems usually show completions automatically.
> You just type and the completions are shown. This is how it works in
> various applications, google, etc.
I'd like to include company-mode in Emacs-25.1.
Whether it can or should be enabled by default is not decided yet, but
my guess is that it won't be enabled by default in 25.1.
Stefan
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 22:07 ` Stefan Monnier
@ 2014-12-11 1:23 ` Artur Malabarba
0 siblings, 0 replies; 10+ messages in thread
From: Artur Malabarba @ 2014-12-11 1:23 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Tom, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 726 bytes --]
On 10 Dec 2014 20:07, "Stefan Monnier" <monnier@iro.umontreal.ca> wrote:
>
> > Modern completion systems usually show completions automatically.
> > You just type and the completions are shown. This is how it works in
> > various applications, google, etc.
>
> I'd like to include company-mode in Emacs-25.1.
> Whether it can or should be enabled by default is not decided yet, but
> my guess is that it won't be enabled by default in 25.1.
While I like and use company mode, I can see it would be a problem to
enable it by default.
Its default behaviour defines a lot of unusual keybinds while completion is
happening. Since completion happens automatically, you find that half your
keybinds stop working out of the blue.
[-- Attachment #2: Type: text/html, Size: 929 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 20:59 ` Tom
@ 2014-12-11 3:35 ` Eli Zaretskii
0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2014-12-11 3:35 UTC (permalink / raw)
To: Tom; +Cc: emacs-devel
> From: Tom <adatgyujto@gmail.com>
> Date: Wed, 10 Dec 2014 20:59:09 +0000 (UTC)
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
> >
> > Did you try Icomplete mode?
> >
>
> Yes, but it's just like iswitchb, isn't it?
>
> I'm talking about improving the default completion
> experience.
Since we already have optional features to do that, why do we need to
change the default?
If you are arguing for making Icomplete the default, we can discuss
that. But even if we decide to make it the default, there will be
people who'd like the old behavior, and for them we should still offer
the current behavior as an option they could use.
> Is there a reason for not listing completions automatically? It's
> just a more fluid user experience.
Some people like the current behavior, which matches what shells do.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Making completion more interactive
2014-12-10 20:51 ` Tom
@ 2014-12-11 5:46 ` Stephen J. Turnbull
0 siblings, 0 replies; 10+ messages in thread
From: Stephen J. Turnbull @ 2014-12-11 5:46 UTC (permalink / raw)
To: Tom; +Cc: emacs-devel
Tom writes:
> I think most people like this behavior.
I don't. And equating "most people" with "most Emacs users" is a big
mistake. IMO, it's OK as a default, but there *must* be a way to turn
it off.
> Yes, I know about them. My suggestion is about making the
> default completion more modern.
I hope you're aware that describing a behavior as "modern" on this
list predisposes many of us to consider it a bad idea. Just give real
reasons (like "most people like it").
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-12-11 5:46 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-10 20:38 Making completion more interactive Tom
2014-12-10 20:43 ` Óscar Fuentes
2014-12-10 20:51 ` Tom
2014-12-11 5:46 ` Stephen J. Turnbull
2014-12-10 21:24 ` Fabrice Niessen
2014-12-10 20:52 ` Eli Zaretskii
2014-12-10 20:59 ` Tom
2014-12-11 3:35 ` Eli Zaretskii
2014-12-10 22:07 ` Stefan Monnier
2014-12-11 1:23 ` Artur Malabarba
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).