From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuri Khan Newsgroups: gmane.emacs.devel Subject: Re: Stepping Back: A Wealth Of Completion systems Re: [ELPA] New package: vertico Date: Wed, 7 Apr 2021 20:05:51 +0700 Message-ID: References: <9c9af088-580f-9fb1-4d79-237a74ce605c@inventati.org> <874kgkxxs0.fsf@posteo.net> <3ec7e2e58a100426a22e@heytings.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18235"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Philip Kaludercic , "T.V Raman" , Manuel Uberti , Emacs developers To: Gregory Heytings Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 07 15:08:14 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 1lU7uo-0004ey-84 for ged-emacs-devel@m.gmane-mx.org; Wed, 07 Apr 2021 15:08:14 +0200 Original-Received: from localhost ([::1]:43538 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lU7un-00020T-8z for ged-emacs-devel@m.gmane-mx.org; Wed, 07 Apr 2021 09:08:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35770) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lU7sm-0008NT-9X for emacs-devel@gnu.org; Wed, 07 Apr 2021 09:06:08 -0400 Original-Received: from mail-vs1-xe31.google.com ([2607:f8b0:4864:20::e31]:46659) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lU7sj-0005dk-8B for emacs-devel@gnu.org; Wed, 07 Apr 2021 09:06:07 -0400 Original-Received: by mail-vs1-xe31.google.com with SMTP id l8so9595788vsj.13 for ; Wed, 07 Apr 2021 06:06:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=k20zli+O76Vm1lp3mHsvOpVlsQAAhAVDdCTZZ5BECjY=; b=hJmwLR8fB5HGp4gwnjiRaOwhhp22D1KqMNNbqn6GLbMerMz6QPCrmKNoSiQUhHQ1gX t2BX1EdOdS/eoDF6EY5NrvAgpkG7ELVMDSKgoTmlmZUio0k7C1fXAz+zRISWkMqPNScG a3asXJahmeHoi5OS4dszRB8azE7YY7Oe3hjx5EKwhNk0aGPUDtK/euhjEwetRA+QcErc gH2LgqCGw58XaCBpmqN+Zj+yK0pgUW8OOwVa4Po+y7sNdyhlO9s/cR6kylaglQAT0NEa 3sUvzG+hvoU3YYHnEGa914Cbds/qacri+EnRYEv/l4y/JAjlj5fXOgYcrI4tkLbtec3I AkOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=k20zli+O76Vm1lp3mHsvOpVlsQAAhAVDdCTZZ5BECjY=; b=ih6ya/vSFbhYre/Op9bCOtKquA1j0wVNc72rgEVIUoJjX6Xhh9OakdEqVs25xqoHu1 dBbsw+92mkTIEDl1wH1kNyYbmXfMOxBwVqKNklTaGuSdExzWmI1BZwRWbbWuR+QKZ31b WoiklH9lSh/sGdJ4IGdyPT8UW3nYX0gbyPUpOomeZMMSt7edxdRdMqoGSrVvcTUoYlyN ztJNSQE1I+9PqcjrRULXB/9oa9O0mjYyAfcSO0jT3skoAwEUQAmMgwwnlZRNV8S27YsA WYZ2YhVPXLP+2SNDYvAayAh0i71zhvjsUAofnDdDYkQwo0lo7wo8uuJOGsQhFGt5TWlf 5mMg== X-Gm-Message-State: AOAM5333kEjn8p9774MB5UQ7FNLk+EvrpdXGy3NP8/EDa7n19cdhkwz+ Ou6Ik0h43RAff8JYaiUkcR7rjMr2zcsfupb+9Ho= X-Google-Smtp-Source: ABdhPJwMNxegBzCTeLCcCv3fl6lEWMhHjFur0ha/7sgweGQr2drlNHdt48ximR5n7QHUcYkTgmz/nVlSYl1Hs1eL9Gk= X-Received: by 2002:a67:db0e:: with SMTP id z14mr1561484vsj.51.1617800762764; Wed, 07 Apr 2021 06:06:02 -0700 (PDT) In-Reply-To: <3ec7e2e58a100426a22e@heytings.org> Received-SPF: pass client-ip=2607:f8b0:4864:20::e31; envelope-from=yurivkhan@gmail.com; helo=mail-vs1-xe31.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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:267515 Archived-At: On Wed, 7 Apr 2021 at 19:11, Gregory Heytings wrote: > Given that Emacs is primarily keyboard-driven, it seems to me that the > most efficient way to select an item is, and will always be, to use a > textual representation of the items in the list to select them. C-x 8 RE= T > does this, you (can) select an unicode character with its name. For > example C-x 8 RET inf RET inserts the infinity symbol. Or course you > could also navigate through the ~45000 unicode characters to select the > one you want, but that would be far less efficient. This is a narrow-minded view. For one, it does not address the use case, =E2=80=9CI know the character I want exists, I vaguely know which scr= ipt or block it belongs to, and I will recognize it when I see it, but at the moment I don=E2=80=99t remember its name or any of its aliases=E2=80=9D= . The UI for this case is implemented in, e.g., gucharmap(1). It consists of a sidebar with a list of filters (mostly scripts or blocks, choosable from the View menu, but also =E2=80=9CAll=E2=80=9D), a gr= id of characters showing the filtered subset, a panel displaying information on the currently selected character, and a search facility (on Ctrl+F and Ctrl+G and Ctrl+Shift+G). For convenience, filters can be switched sequentially by pressing Ctrl+Page Up and Ctrl+Page Down without moving keyboard focus away from the grid. You don=E2=80=99t have to navigate linearly through 143859 characters (as o= f Unicode 13.0). You choose one of 308 blocks or 154 scripts, and then have an overview of relevant candidates, of which you choose visually or spatially (=E2=80=9Clast time I needed this, it was somewhere in the low= er 1/3=E2=80=9D). Another instance of the selection UI is the Open File scenario. In Emacs, you probably press C-x C-f and then use completing-read for the file name with directory and consider that the most efficient way. But I navigate via =E2=80=98dired-jump=E2=80=99 (bound to Super-d) and arrow ke= ys and =E2=80=98dired-find-file=E2=80=99 (bound to RET) and consider this the most= efficient way for me. Again, in my mind it=E2=80=99s =E2=80=9CI know where it is loca= ted and will recognize it on sight, but I don=E2=80=99t want to remember the name o= f it or any of its ancestor directories=E2=80=9D. More generally, there is a subset of users who search, and another subset of users who browse. The latter always get frustrated when the only UI they are offered is a search engine or a completion-enabled text entry box.