From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: A different way to interactively pass options to commands Date: Wed, 17 Feb 2021 23:47:11 +0100 Message-ID: <87blci9us0.fsf@telefonica.net> References: <878s7m1mo3.fsf@gnus.org> <87ft1u9xhh.fsf@telefonica.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7348"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: emacs-devel@gnu.org Cancel-Lock: sha1:kOXV8ONTNE0mYuu9k7kb0i5iqLg= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Feb 17 23:49:52 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 1lCVdn-0001nM-38 for ged-emacs-devel@m.gmane-mx.org; Wed, 17 Feb 2021 23:49:51 +0100 Original-Received: from localhost ([::1]:60304 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lCVdm-0007qj-4K for ged-emacs-devel@m.gmane-mx.org; Wed, 17 Feb 2021 17:49:50 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39642) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lCVbP-0006H1-Fb for emacs-devel@gnu.org; Wed, 17 Feb 2021 17:47:23 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:53216) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lCVbM-0006FK-5I for emacs-devel@gnu.org; Wed, 17 Feb 2021 17:47:22 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1lCVbJ-0009WI-Iw for emacs-devel@gnu.org; Wed, 17 Feb 2021 23:47:17 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=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:265107 Archived-At: Stefan Monnier writes: >> So, could Emacs take advantage of something like this? I think so. > > IIUC Magit uses the `transient` package for that functionality, right? The popup functionality was segregated to its own package, yes. > I do think it gives a very nice user experience for some things. Yes, for some. For other things it is not the right thing. It shines for configuring actions. If you have one action that works depending on multiple options, this UI is great. But if you have many actions, it is of no use. The later conforms more to Emacs' M-x, menu and shortcut-based UI. > The most obvious case that comes to my mind is those of major modes that > have several of `C-c C- C-` bindings (e.g. to insert code > templates or other such things) which I never even try to use because > I find those key bindings just much too long to remember. Org suffers from that kind of key binding proliferation, but IIRC most of them are different actions, although conceptually related (commands that operate on tags, for instance.) For now I solve those cases with M-x, ido and the flx algorithm.