unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ndame <emacsuser@freemail.hu>
To: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: Emacs should provide more modern item completion out of the box
Date: Thu,  2 Jan 2020 14:44:58 +0100 (CET)	[thread overview]
Message-ID: <AyKZMQ.2JUfO8Iao81F.qvdaODhO3yAlA0dyL93n@freemail.hu> (raw)

[-- Attachment #1: Type: text/plain, Size: 1882 bytes --]



These days popular modern tools (IntelliJ, VSCode, etc.) all provide
quick and efficient methods to select items from a set of possible
completions. These completion tools have two main attributes:


1. The completion is some kind of flex completion where you don't have
to know and type the searched item exactly, it's enough to type parts
of it with or withouth spaces.

E.g. to execute "recover-this-file" you'd just type "M-x recfile" and
it's listed among the matches. Or to find "sort-numeric-fields" you
type "nufi" or "sofi".

The listing of matches usually involves some kind of recency bias, so
items you used before are listed first which makes it very convenient
to access your often used items, because in the list of matches they
are listed before the ones you rarely or never use.


2. The other thing is that selecting from a set of items gives you
instant feedback (maybe with a delay of a few hundred milliseconds),
so you don't have to press TAB or other keys for completion, the
matching items are listed immediately. (If there are too many matches
then the first, say, 50 is listed and the completion indicates you
have to keep typing in order to narrow down the number of matches
more.)


Emacs' current built in completion is kind of old fashined. Surely,
there are people who prefer it, but most people according to my
experience prefer completion systems like described above which
provide instant feedback with flex matching.

Emacs already has such packages which provide that experience. I'm
aware that integrating an external package for built in completion
involves copyright issues and extra work, so let's put those issues
aside for the moment, I'm more interested in the user interface angle
here.

Do you agree that Emacs could benefit from such a modern completion
system (for M-x, etc.) by providing a more attractive out of the box
experience?

[-- Attachment #2: Type: text/html, Size: 2216 bytes --]

             reply	other threads:[~2020-01-02 13:44 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-02 13:44 ndame [this message]
2020-01-02 22:31 ` Emacs should provide more modern item completion out of the box Dmitry Gutov
2020-01-03  5:39   ` ndame
2020-01-28 21:54     ` Juri Linkov
2020-01-29  3:09       ` Stefan Monnier
2020-01-29 23:00         ` Juri Linkov
2020-01-29 23:57           ` Stefan Monnier
2020-01-03  9:18   ` Andrea Corallo
2020-01-03  9:45     ` ndame
2020-01-03 12:57     ` Dmitry Gutov
2020-01-03 22:37     ` jeremyb
2020-01-04 18:16       ` Andrea Corallo
2020-01-08 10:28         ` Stefan Kangas
2020-01-04 20:52     ` Stefan Monnier
2020-01-06 15:27       ` Dmitry Gutov
2020-01-06 15:52         ` Stefan Monnier
2020-01-08 10:22     ` Stefan Kangas

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AyKZMQ.2JUfO8Iao81F.qvdaODhO3yAlA0dyL93n@freemail.hu \
    --to=emacsuser@freemail.hu \
    --cc=emacs-devel@gnu.org \
    /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 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).