all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Carlos Pita <carlosjosepita2@gmail.com>
To: irenezerafa <irenezerafa@protonmail.com>
Cc: Lars Ingebrigtsen <larsi@gnus.org>, 51819@debbugs.gnu.org
Subject: bug#51819: The Senselessness of Emacs Company Mode
Date: Tue, 16 Nov 2021 19:48:39 -0300	[thread overview]
Message-ID: <CAEOO5Td3ty5Gg+nQegf+N+s492BO0VEJWZp4MwUtDPrif=kYcg@mail.gmail.com> (raw)
In-Reply-To: <3HH5OTjwiEa88ERSj68bCu9Csjgz9OYjUG6L5IyHtmwPK1MKtzmNTPuOGVuit4Rr8XddlRKtCDNBv1vRhuBFEd2qUCsJP268H7lADLShZ7w=@protonmail.com>

> I did not know this.  Thought company is the OOTB one, than an external thing.
> How does one use the auto-completion you are discussing?

This is described in the manual:

https://www.gnu.org/software/emacs/manual/html_node/emacs/Symbol-Completion.html

Be aware that it's not a fancy popup that updates itself while you're
typing, instead it's more like what you get in bash. Nevertheless:

- The protocol is already there, when you install company most of the
things work OOTB because of the core protocol. Of course if company
adds extra features on top of it there is no way this could be
supported without installing further company-.* extensions as the ones
you listed at the top, but there is ample consensus not to do
that without good reason and alternatives have already emerged with
core APIs full-compatibility as a strong guiding principle. I
encourage you to visit the projects in https://github.com/minad/,
especially vertico, consult, embark, marginalia and corfu. You don't
need to install anything, just read about them and decide, you can
pick only the parts that you're interested in. I've only installed
corfu for now because I find the child frame nicer and more
convenient than the default UI, but I could easily live without
that.

- The protocol is already very customizable without installing
anything else. See for example the variable completion-styles. You can
set it to flex for fuzzy matching. You mentioned you're using
orderless: it also leverages this core mechanism in order to provide
a different completion strategy.

So, as you can see, there is more here than you first thought, it's
not really "haphazard evolution".

> once something becomes a fundamental functionality (e.g. completion),
> evolution should move consciously after some time.

I hope I've convinced you this is indeed what's happening. Indeed,
most of what I've described has been there for many many years.

>  I use ivy, company and orderless.

ivy implements its own protocols, be aware that there is a world of
ivy-.* stuff too. Also be aware that some of the packages in
https://github.com/minad/ are alternatives to ivy (it's not another
case of NIH though, because the idea is to stick to the roots for
good).

ivy can do completion-at-point too:

https://www.reddit.com/r/emacs/comments/57fnar/ivy_completion_at_point_in_an_overlay/

Maybe that's enough for your needs so you don't have to install anything else.

Best regards,
Carlos





  reply	other threads:[~2021-11-16 22:48 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-13 22:57 bug#51819: The Senselessness of Emacs Company Mode irenezerafa via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-14  1:26 ` Lars Ingebrigtsen
2021-11-15  4:53   ` Richard Stallman
2021-11-16 19:12     ` irenezerafa
2021-11-15  6:51   ` Carlos Pita
2021-11-16 19:22     ` irenezerafa
2021-11-16 20:07       ` Carlos Pita
2021-11-16 20:23         ` irenezerafa
2021-11-16 21:30         ` Carlos Pita
2021-11-16 21:44           ` irenezerafa
2021-11-16 22:48             ` Carlos Pita [this message]
2021-11-16 23:24               ` irenezerafa
2021-11-17  0:15                 ` irenezerafa
2021-11-17  2:30                 ` bug#51819: [External] : " Drew Adams
2021-11-17  3:08                 ` Carlos Pita
2021-11-17  2:53 ` irenezerafa via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-17 16:36   ` bug#51819: [External] : " Drew Adams
2021-11-17  3:00 ` irenezerafa via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-17  3:12   ` Carlos Pita
2021-11-17  3:40     ` Carlos Pita
2021-11-17 16:13       ` irenezerafa
2021-11-17 16:36   ` bug#51819: [External] : " Drew Adams

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

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

  git send-email \
    --in-reply-to='CAEOO5Td3ty5Gg+nQegf+N+s492BO0VEJWZp4MwUtDPrif=kYcg@mail.gmail.com' \
    --to=carlosjosepita2@gmail.com \
    --cc=51819@debbugs.gnu.org \
    --cc=irenezerafa@protonmail.com \
    --cc=larsi@gnus.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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.