From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.devel Subject: Re: Stepping Back: A Wealth Of Completion systems Re: [ELPA] New package: vertico Date: Wed, 07 Apr 2021 12:09:30 +0000 Message-ID: <3ec7e2e58a100426a22e@heytings.org> References: <9c9af088-580f-9fb1-4d79-237a74ce605c@inventati.org> <874kgkxxs0.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38034"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Manuel Uberti , emacs-devel@gnu.org, "T.V Raman" To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 07 14:11:26 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 1lU71q-0009mr-AS for ged-emacs-devel@m.gmane-mx.org; Wed, 07 Apr 2021 14:11:26 +0200 Original-Received: from localhost ([::1]:53828 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lU71p-00059S-8d for ged-emacs-devel@m.gmane-mx.org; Wed, 07 Apr 2021 08:11:25 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50688) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lU709-000485-9h for emacs-devel@gnu.org; Wed, 07 Apr 2021 08:09:42 -0400 Original-Received: from heytings.org ([95.142.160.155]:60596) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lU701-0007ta-WC for emacs-devel@gnu.org; Wed, 07 Apr 2021 08:09:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1617797371; bh=zJ2gZD3n6mmJ+X97/L/VrTNTtyC57vbr14ihHojLXVo=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=kuosxcZZW8rFadY0tSt71RWcDWHZjbKrRSe3lppzT//8SifHBbUIZHRi5TxDK4wer mhnaRzoM/KsfVgtlsTAeYkbjDDGVS3zl2o47FS5cmbnbBVKnaeN7ht8GO0G9ydsZV+ HKf3+UH5JwMqOWyV3X3Ztgut7FX29BHWbVRoHcayQpyvXWUYkP16Kh8YMpsWjDvmO6 DkWK5wc7UMzov1eODbslq9dkkbcrIPWl5wBB0/7GbC1fABU/APxjhMGErR6E8oa4Us 84UqQizhkfzzy2RfsFb8kFArsL7scMrtLREEmO0XXzzsnaJmNPczZNr+8Y1VCFxak+ tFp6IliTZKlrg== In-Reply-To: <874kgkxxs0.fsf@posteo.net> Received-SPF: pass client-ip=95.142.160.155; envelope-from=gregory@heytings.org; helo=heytings.org 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, SPF_HELO_PASS=-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:267508 Archived-At: > > I have the feeling all these completion systems are encouraging > confusion around how to use completing-read. That is the 0th point that > is missing here: Are you completing (expanding text) or selecting > (narrowing options). > I've been thinking about this, and I'm not sure I understand what the real difference between "completing" and "selecting" is. Do I understand correctly that the difference is between, for example, expanding command names (completing), and choosing an emoji in a list (selecting)? > > It might therefore be necessary to actually implement a "selecting-read" > function, that could be used more or less like completing-read, but that > provides a better default UI not based around completing text but > actually selecting objects/items. > 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 RET 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.