From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.devel Subject: Re: Feature branches review please Date: Thu, 5 Nov 2020 20:22:50 +0300 Message-ID: References: <20201104161200.tyeo2r5jibdahukb.ref@Ergus> <20201104161200.tyeo2r5jibdahukb@Ergus> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14781"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/+ (1036f0e) (2020-10-18) Cc: emacs-devel@gnu.org To: Gregory Heytings Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 05 18:58:48 2020 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 1kajX6-0003kP-9E for ged-emacs-devel@m.gmane-mx.org; Thu, 05 Nov 2020 18:58:48 +0100 Original-Received: from localhost ([::1]:34220 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kajX5-0003wo-B3 for ged-emacs-devel@m.gmane-mx.org; Thu, 05 Nov 2020 12:58:47 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35880) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kajVe-0001pd-SM for emacs-devel@gnu.org; Thu, 05 Nov 2020 12:57:18 -0500 Original-Received: from static.rcdrun.com ([95.85.24.50]:46945) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kajVd-0005Zh-08 for emacs-devel@gnu.org; Thu, 05 Nov 2020 12:57:18 -0500 Original-Received: from localhost ([::ffff:197.157.0.43]) (AUTH: PLAIN admin, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by static.rcdrun.com with ESMTPSA id 00000000002A0D02.000000005FA43CF7.00005D78; Thu, 05 Nov 2020 17:57:09 +0000 Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=95.85.24.50; envelope-from=bugs@gnu.support; helo=static.rcdrun.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/05 08:59:12 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_SORBS_WEB=1.5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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:258746 Archived-At: * Gregory Heytings [2020-11-05 19:10]: > > > > > I hope that functions are made in the spirit of ivy and helm so that I > > can build completion based system for any choices, not only minibuffer > > built-in choices. > [...] > > > > (ivy-completing-read PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH > > INITIAL-INPUT HISTORY DEF INHERIT-INPUT-METHOD) > > > > In fact it's the opposite, that function is made in the spirit of Emacs' > built-in completing-read function: (completing-read PROMPT COLLECTION > &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF > INHERIT-INPUT-METHOD) > > > > > - full window support, like poping out of minibuffer to full window > > > > I'm not sure I understand what you mean, but it seems to me that this is a > standard feature when reading from the minibuffer, when you press TAB a > *Completions* buffer opens. I mean that icomplete should provide function for others: `icomplete-completing-read' just in the spirit of Emacs. > > - actions like ivy with M-o or helm with TAB > > > > This I don't know, what do you mean by "actions"? Thank you, thank you. I also forgot to mention multiple choice. Let us say I have a list COLLECTION, I can feed it into - helm-completing-read - ido-completing-read - ivy-completing-read there may be others. Some of them automatically replace the built-in completing read. Now in helm and ivy (what as that is all what I know until now), there are "actions" which can determine what to do on the specific selection. In helm I can press TAB to see actions, then I can choose one of actions. In Ivy I press M-o For example if ivy-mode is turned on, I can do C-x b and there is list of buffers with incremental search, I can press M-o and I can see actions: insert, copy, find file, other window, kill and rename. Actions are customizable As I prefer working with built-ins and reusing the built-in Emacs Lisp functions, that is why I am asking you. Ivy is in GNU ELPA, helm is outside of GNU ELPA, but best would be to have vertical completion similar to both of them, but built-in. Another point is that icomplete-completing-read should allow multiple selections. In helm I can select with C-SPC multiple lines or choices. Summary; - if possible, provide multiple choices for icomplete, so that multiple list items can be returned - provide actions on the selection, as default action is when I choose it, but I could have different selection. For example default action would be to view contact details, but I could have selection to send email to contact. - incremental search is I guess there, I did not try that yet - I like when completion function can find it in reverse, for example when writing words "Doe John" can select "He was John Doe" I would be eventually using ido-mode, but it is not adequate and does not have vertical incremental serach. Helm is best so far but it is overkill for many applications. So now I am using `ivy-mode' as it is in GNU ELPA. Even better would be to have incremental visual selection with icomplete-* if it will come into main Emacs. Jean