From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Carlos Pita Newsgroups: gmane.emacs.bugs Subject: bug#51819: The Senselessness of Emacs Company Mode Date: Mon, 15 Nov 2021 03:51:14 -0300 Message-ID: References: <87k0hbfryj.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7770"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) Cc: 51819@debbugs.gnu.org, irenezerafa To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Nov 15 07:52:17 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mmVqi-0001kG-GH for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 15 Nov 2021 07:52:16 +0100 Original-Received: from localhost ([::1]:50914 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mmVqg-0002Hd-On for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 15 Nov 2021 01:52:14 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:33202) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mmVqU-0002HM-Pm for bug-gnu-emacs@gnu.org; Mon, 15 Nov 2021 01:52:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40872) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mmVqU-00073k-F7 for bug-gnu-emacs@gnu.org; Mon, 15 Nov 2021 01:52:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mmVqU-0007If-9h for bug-gnu-emacs@gnu.org; Mon, 15 Nov 2021 01:52:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Carlos Pita Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 15 Nov 2021 06:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51819 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: notabug Original-Received: via spool by 51819-submit@debbugs.gnu.org id=B51819.163695908527992 (code B ref 51819); Mon, 15 Nov 2021 06:52:02 +0000 Original-Received: (at 51819) by debbugs.gnu.org; 15 Nov 2021 06:51:25 +0000 Original-Received: from localhost ([127.0.0.1]:52414 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmVps-0007HQ-Kv for submit@debbugs.gnu.org; Mon, 15 Nov 2021 01:51:24 -0500 Original-Received: from mail-ua1-f47.google.com ([209.85.222.47]:34789) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmVpq-0007HC-Sf for 51819@debbugs.gnu.org; Mon, 15 Nov 2021 01:51:23 -0500 Original-Received: by mail-ua1-f47.google.com with SMTP id n6so16166071uak.1 for <51819@debbugs.gnu.org>; Sun, 14 Nov 2021 22:51:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=oasl7gZoZmKnAEag9aCPYJcxij3wmep2Y6mBUiDv7ZQ=; b=PwLLQNxu/EWjIvkdeuBR+FW805qqSe2mHyPA8bOE9H5Fc/iZwONDidfrGawTVJpqfb 8c9lT7+f9KanL52pi7D0tIFxoavS5QKXK1w2RybMRGgXEb4ScKxIG1s0/Vnd/fXSzsd7 HyJni3P7HALC4NFRiNEqjU2LK5UNQhN1AoqlXEn9Ogke54OFaVIm5ZOQzI8L2dnktjv6 u8ULP6cWB2DyVxtYoWU79J1IZliM1pIPfn67cXaER6n8t3B+CgB3iAEXFLGXVtDz7OTu Cmpw1eqeOzS9VzfixL/pTNGX7BMVyh5oYvBHFBwlsHazxxuXnyy5zRMNN7xiOkUpz1xt 1Ftg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=oasl7gZoZmKnAEag9aCPYJcxij3wmep2Y6mBUiDv7ZQ=; b=lT0W4sRPH92pNbmWqzzUQghogvoWs1uNfHuaILogbyB+Ihffltnb16dkM0zo4OlhTI gryRfta+8Q4c9NVXJdl4HG76xzuO5DvJ5cudfyJDFtUpoqvMJaEofcrifPUhcSKtSQFd wlM696Vqy2Pl5EobCibXKZ5TFZMzAZA758VoXeziQumeQywKoX9u7qBAWefsi4Fd4CQu YgH4xIOTcdgSiE+GflXrveABc1eg0hnEZxWzEpzJfQ60/eA7gVq9xKAu4LtamWxiXbMT j/neL0h9aqOtAUSE4s7FTeBF4z6PajwwfFS2gh2fz9v69sTHthq5KpSNMPpHj/s+cdeY hMvA== X-Gm-Message-State: AOAM530WQZWUzqDGKxbm0uEfl4P1qa1tLMQMxAu1vZGGMkC2/t6GBDeT BLjDusrWr1UgZAn4Vj/NxmiIBXjVW2U= X-Google-Smtp-Source: ABdhPJzxy5EENFS2aILje8k/s8ZSpU9weizROHtlbvhFd163Jpd31t9v6wMMbmCXUgQx4SpzcE5Y4w== X-Received: by 2002:ab0:3c9f:: with SMTP id a31mr56118207uax.134.1636959077045; Sun, 14 Nov 2021 22:51:17 -0800 (PST) Original-Received: from Carloss-MacBook-Pro.local ([186.136.138.53]) by smtp.gmail.com with ESMTPSA id o128sm8857258vsc.7.2021.11.14.22.51.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Nov 2021 22:51:16 -0800 (PST) In-Reply-To: <87k0hbfryj.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sun, 14 Nov 2021 02:26:12 +0100") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:220036 Archived-At: Lars Ingebrigtsen writes: > irenezerafa writes: > >> I am installing Company Mode so I can use auto completion. Let me >> show you how beautiful that is using the emacs way. For most people, >> they do "M-x list-packages" and search for "company". They get about >> 70 matches for "company-mode" which add compatibility for other modes. > > I think most people are able to figure out that they should add the > package called "company" if they want to install Company. (It's > conveniently listed first among the packages that are Company-related.) Moreover, there is little gain in using company-specific extensions these days. Most completing-read frameworks offer completion-at-point compatibility, which inherits all the goodies from completing-read. And if you prefer an in-place popup install corfu which shows a child frame with zero extra config. Even company is moving more and more towards its capf backend. Maybe some extensions still require or greatly benefit from some company-specific protocol, but this is not the norm nowadays. I'm using a combo of fido-mode + corfu which, if I wanted, could be extended with consult, embark, marginalia, orderless, etc. I prefer to keep it small, but the beauty of the new "completion stack" is that the building blocks follow standard emacs protocols and are intercompatible (so it's completely fine to use any of them with icomplete/fido). This is all the configuration I need to get a "modern" completion experience: (setq completion-styles '(flex basic)) (icomplete-vertical-mode +1) (fido-mode +1) (corfu-global-mode +1) The only external dependency is the minimal, high-quality corfu extension. I understand the OP's frustration though, because this simplicity is not a given but the result of an exhausting process of research and refinement, there are a lot of options and (ill-)advice usually comes in the form of installing yet another extension. One has to learn many things that would be better not to know. One complaint I have is that icomplete doesn't offer a builtin completion-at-point mode. Strictly, it offers one but it's rather broken (see my report #51575). I believe it would be easy to channel completion-at-point to the minibuffer as other extensions more or less trivially do, although this is not compatible with LSP servers. OTOH an at-point popup is likely harder to implement and both overlays and child frames have their own drawbacks (again, see #51575). In any case, a builtin solution is not scifi at this point and, since the community is already converging around core protocols, I see this as an opportunity to greatly simplify the completion story. Best regards, Carlos