From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "T.V Raman" Newsgroups: gmane.emacs.devel Subject: Stepping Back: A Wealth Of Completion systems Re: [ELPA] New package: vertico Date: Mon, 05 Apr 2021 11:30:51 -0700 Message-ID: References: <9c9af088-580f-9fb1-4d79-237a74ce605c@inventati.org> Mime-Version: 1.0 Content-Type: text/plain; charset=gb18030 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8417"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Manuel Uberti Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Apr 05 20:32:20 2021 Return-path: Envelope-to: ged-emacs-devel@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 1lTU1M-00024w-2z for ged-emacs-devel@m.gmane-mx.org; Mon, 05 Apr 2021 20:32:20 +0200 Original-Received: from localhost ([::1]:49088 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTU1L-0002G5-5P for ged-emacs-devel@m.gmane-mx.org; Mon, 05 Apr 2021 14:32:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41222) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTU06-0001mc-H7 for emacs-devel@gnu.org; Mon, 05 Apr 2021 14:31:02 -0400 Original-Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]:45783) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lTU04-0007Rr-FW for emacs-devel@gnu.org; Mon, 05 Apr 2021 14:31:02 -0400 Original-Received: by mail-pl1-x62d.google.com with SMTP id l1so6076909plg.12 for ; Mon, 05 Apr 2021 11:30:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=nV1DN98jcp1aA0uheqgRkNUIku1BoQRSsmxJJxRxDvs=; b=ladPW8HrDQtkBmorNmN/FY7sGK76ZSiYY4MlXeyGf5WQhh/lNlrT5+NsyfsZSW9L+q P1RsuuWLckKsPACYEWUg5PUKWiueM4xEA0BJ0sKrUZ90ss2HbevoqyWjE/lP0MBH0Yzo o31Z+KKjS/q4i0zeq4PVeUpME7mh9tTdW+vw8MrmyeYfcES3hg45Z3UA4h6LP9Ze0iOj CF9y+PAUxwlH98qezTBN3+fSTCLJozd8krwRjSQ57VEZi5q3ilcD4bGsLNvemUgMSwIE CU/F43EGD7xR95gC+PPor7IvrW8fFZ4cAiz5I3J/QB30O5LhXniB7DArMpOecEAMpfXk T2kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=nV1DN98jcp1aA0uheqgRkNUIku1BoQRSsmxJJxRxDvs=; b=WMF6BKqFVvGhAN0Ot/7i742nH6y4y+6T2TmAwH0IlqaVL1DkkwfdM9Bi7S5vNeEPHw Qlt/L5s4YwWZJEKdd5mBKq0gnEYstApJ5o9GyhctfJqo5OQTdRLybEpXl1zn+xwRPEWS IkU0NCUPQTa8eVP3cR2wHXcMiiC/wJo4GMBmLq8WGGnFWMjk+43oNNsDwR+VIL1FZdoA HzBotPp0yYs109XuOn6tUVhSiz0efyUg/NPb2EQSx6IvyugFBMqCZ1eiwR3YZZIAHd4Z d6VozPpd48gnRhlMCz9yYpjwB0fG9ichPyd3em2PW4q+26ByQ/Klg8LzBtkzaai/QJyE wXfw== X-Gm-Message-State: AOAM530DiNeIz9fuAtOvFc8QBLSAIFzOo99aclfCeEtwRqzahn0eIMHA 4dnGlC5JP5MG7GN26Gp5DBZ7/LXIiZ/MMg== X-Google-Smtp-Source: ABdhPJyFeZctASEnqsZx7KkcAO4tnXzuGDmbX7CwT1RPPs4UeAZ53+YC9ayrIAhPmnzU6mcQSnSveQ== X-Received: by 2002:a17:902:dcc9:b029:e9:3900:1c9a with SMTP id t9-20020a170902dcc9b02900e939001c9amr696029pll.9.1617647458154; Mon, 05 Apr 2021 11:30:58 -0700 (PDT) Original-Received: from raman-glaptop.localdomain (c-24-4-174-65.hsd1.ca.comcast.net. [24.4.174.65]) by smtp.gmail.com with ESMTPSA id fv9sm170121pjb.23.2021.04.05.11.30.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Apr 2021 11:30:57 -0700 (PDT) Original-Received: by raman-glaptop.localdomain (Postfix, from userid 13930) id 40BC5C21495; Mon, 5 Apr 2021 11:30:51 -0700 (PDT) In-Reply-To: <9c9af088-580f-9fb1-4d79-237a74ce605c@inventati.org> (Manuel Uberti's message of "Mon, 5 Apr 2021 16:27:28 +0200") Received-SPF: pass client-ip=2607:f8b0:4864:20::62d; envelope-from=raman@google.com; helo=mail-pl1-x62d.google.com X-Spam_score_int: -175 X-Spam_score: -17.6 X-Spam_bar: ----------------- X-Spam_report: (-17.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:267429 Archived-At: Water water everywhere --- not a drop to drink! The wealth of completion systems popping up speaks to the power of emacs as a platform for both productive editting as well as rapid experimentation --- given the wealth of completion frameworks we now have, perhaps we could abstract out the various high-level dimensions along which completing systems in emacs can vary -- then put together a higher-level framework that lets one mix and match? My concern is that if we dont leverage the current wealth of opportunities, the various systems will each wither on the vine in their own way; as an example, ido which has likely been around the longest amongst the new completion systems is already looking unmaintained. So here is my attempt at identifying the dimensions of variability: 1. Where invoked -- anywhere in emacs vs minibuffer. 2. When invoked -- as in find-file and friends vs everywhere something prompts in the minibuffer. 3. Using what? the various backends that populate the available choices. 4. How displayed: How the choices are displayed -- horizontal, vertical, and perhaps 3-d in the future. 5. How completed: tab, vs prefix vs fuzzy completion vs ... Thoughts? My own thinking in this space is colored by this blog article I wrote a while ago: https://emacspeak.blogspot.com/2018/06/ Almost all completion activity can be expressed in terms of a finite automaton with nodes Select, Input, Filter and Target. =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 --Raman =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 Manuel Uberti writes: > On 05/04/21 12:22, Daniel Mendler wrote: >> I want to submit the package "vertico" to ELPA. The package provides a >> minimalistic vertical interactive completion system, comparable to Ivy, >> Icomplete-vertical or Selectrum. Vertico adheres to the default completi= ng-read >> API and is fully compliant with all Emacs completion tables, including d= ynamic >> completion tables. >>=20 >> The Vertico source and a README can be found at https://github.com/minad= /vertico. > > FWIW, I have been using vertico as my default completion system since last > Thursday and it has been a great experience so far. It works as expected = without > adding extra features that I have no need for. > > Thanks Daniel for the awesome work. --=20 Thanks, --Raman =817=A94 Id: kg:/m/0285kf1 =950=DC8