From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Stepping Back: A Wealth Of Completion systems Re: [ELPA] New package: vertico Date: Sat, 10 Apr 2021 18:02:13 +0300 Message-ID: <83czv25gju.fsf@gnu.org> References: <9c9af088-580f-9fb1-4d79-237a74ce605c@inventati.org> <874kgkxxs0.fsf@posteo.net> <78741fe6-2612-d7c9-2bc4-0b68ea7fa51a@yandex.ru> <76a4d0e2-117b-165d-d56e-5bc2f504b50c@yandex.ru> <87blapln0r.fsf@posteo.net> <37bd2e96-ce04-eb6d-24da-fdd7ea427e61@yandex.ru> <87im4wx2ct.fsf@posteo.net> <83ft0080hi.fsf@gnu.org> <16784f40-b959-9a84-65d4-93b71d1bebec@yandex.ru> <83blam7gzh.fsf@gnu.org> <9b76beed-13f8-18e4-1d14-4dc0a04d4ab6@yandex.ru> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10325"; mail-complaints-to="usenet@ciao.gmane.io" Cc: philipk@posteo.net, emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Apr 10 17:02:57 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 1lVF8S-0002ak-Ss for ged-emacs-devel@m.gmane-mx.org; Sat, 10 Apr 2021 17:02:56 +0200 Original-Received: from localhost ([::1]:58462 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVF8R-0002gK-TN for ged-emacs-devel@m.gmane-mx.org; Sat, 10 Apr 2021 11:02:55 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lVF7v-0002DX-Ht for emacs-devel@gnu.org; Sat, 10 Apr 2021 11:02:23 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:46597) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVF7u-0002LE-Dt; Sat, 10 Apr 2021 11:02:22 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2408 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lVF7t-0005If-Kp; Sat, 10 Apr 2021 11:02:22 -0400 In-Reply-To: <9b76beed-13f8-18e4-1d14-4dc0a04d4ab6@yandex.ru> (message from Dmitry Gutov on Sat, 10 Apr 2021 17:40:05 +0300) 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:267829 Archived-At: > Cc: philipk@posteo.net, emacs-devel@gnu.org > From: Dmitry Gutov > Date: Sat, 10 Apr 2021 17:40:05 +0300 > > On 10.04.2021 10:09, Eli Zaretskii wrote: > > > I think our interpretation of "completion vs selection" are different, > > at least to some extent. For me, completion is for when you (almost) > > know what you want to type, and type enough of it to have a single TAB > > more or less do the rest of the job. IOW, it's a typing-saving tool. > > Selection is for when you don't know what to type, and need the full > > list to choose from. IOW, it's a discovery tool. > > I don't think we disagree too much, it's just there are cases where > "completion" (as defined by you) is really inconvenient: you both don't > know what you want to type, and the options are hard to type as well. > > But there are also cases (IME) when you don't necessarily know what to > type, but you want to continue typing. That is the scenario of an > average (or, perhaps, a beginner) Java developer typing in a IDE: when > you don't remember the method name, you try to guess by typing a > relevant word, see what names match, and often enough get it right. I agree that similar features are used for both purposes. But they are still different purposes, and the discussion will become inefficient (and for me lose its purpose) if we try to ignore that difference or blur it. > > With that in mind, completion for symbols in invoking M-. and > > completion for file names in invoking some file-related command have > > the same traits, at least for me. > > I don't always know what file name I want to type either, and either > guess by typing a part of the word and pressing TAB. Or type multiple > relevant words at once, if the completion UI allows it (that's very > helpful for choosing a project-relative file name in project-find-file). Never happens to me, and probably never will. If I don't know what to type, I first find out (by "other means"). > But Company is just as useful in "needs help in typing as few characters > as possible" kind of scenarios. But its goal is still different, and doesn't make much sense in my completion use cases. In fact, whenever I need to use programs that only provide the "selection" type, I frequently am annoyed and many times need to repeatedly type the same input until I get it right.