From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations Date: Tue, 25 May 2021 10:21:33 +0100 Message-ID: <87fsybgode.fsf@gmail.com> References: <87zgwlb4xc.fsf@gmail.com> <617d06ca-27bf-2ae8-26eb-1042123499d3@daniel-mendler.de> <87pmxhb1rs.fsf@gmail.com> <23510125-37b9-e87e-3590-5322f44772ce@daniel-mendler.de> <87a6olazff.fsf@gmail.com> <0a854bd9-27b0-3ed3-ba74-25d2765c083a@daniel-mendler.de> <87fsybiwcc.fsf@gmail.com> <651fcd24-679a-3476-cb55-762edfc0c1bc@daniel-mendler.de> 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="37435"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Juri Linkov , Dmitry Gutov , monnier@iro.umontreal.ca, "emacs-devel@gnu.org" To: Daniel Mendler Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 25 11:22:41 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 1llTGr-0009Ss-6V for ged-emacs-devel@m.gmane-mx.org; Tue, 25 May 2021 11:22:41 +0200 Original-Received: from localhost ([::1]:35866 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1llTGq-0001gW-6x for ged-emacs-devel@m.gmane-mx.org; Tue, 25 May 2021 05:22:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34150) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llTFr-0000FW-0t for emacs-devel@gnu.org; Tue, 25 May 2021 05:21:39 -0400 Original-Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:38404) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1llTFp-00019q-Ad for emacs-devel@gnu.org; Tue, 25 May 2021 05:21:38 -0400 Original-Received: by mail-wr1-x42d.google.com with SMTP id j14so29627458wrq.5 for ; Tue, 25 May 2021 02:21:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=zmrixzYsSkW2lFY+N2n1M39j41M7s/83LNwXgX8n/iQ=; b=UNgt9DFhyEDhBhTPu8jCQ40wLQY5seR1ADEDRN9lPDvBT/s84Wy1i2BTa5Z7rrlvik xNr9IeR/Bta05H5xhKdyiDcaJgXT8TRKwRjdQNF3qkAnUPp8RSuPeZHsmndjpGhdPinU zIqUHUi7Mchpq4B22jmsJsl8I2fEwmB4O9S9i/zVrExdtht9sFTBJeXNlH9QtBC8/cbV to2GTLRVByqh9R/8mDVkPP/rQAx84uZBmt109NIWXV19U7SAvYtWvlLlb0YKfYIP12wz 9MJeM7cb2NeVuS7GT40jddiq55zM8LNO8hWfnJbcp81kxH5tEvE+wPhbhHqezZZkBR38 6k6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=zmrixzYsSkW2lFY+N2n1M39j41M7s/83LNwXgX8n/iQ=; b=AhcKnGQ9j4J91E0q5IxfZoxbl9S+N6/8NebysDqnjM3PqpOEyqsLs5a2Qncrcc1PkW vFqvbxIc1LMZ5wENKyCU43pNax98lnEb+7Ginq+a0vMiHabcCCos5xUK6yfjvlOIIU9s 7UickrFXM4qmE6H7hZoGjy9rVUp1IvOeTZV/Yor0CiGsyVHvZN7/SfHySHGSMIxD9IAK 8Ks3BTx4ZWRJ2cbc2wuFN439QUzvo6Bne5q1U2YrtpwTDfcgH4IfwsFXsfXrVQ4Dccih ArEyuAAmuwMYJIQ30dhmD73UpeZQA7YqWwuDuX84hSvXwkB6UdDcaBc0x0+FHG8/6MjU jR2g== X-Gm-Message-State: AOAM5328uDuu5u2Fylh3fddUHh/47eKmAnzbsrz+hP134QxNr6X6TZHf T9HyV1J9pecu+JvTkyt/gCs= X-Google-Smtp-Source: ABdhPJyv0M4Tk3iQtlVvd2krNxiWHToVHer+1naETeyrkMtER5FuoJ7PbdH5pr2SGMNDzTXsc6gjhw== X-Received: by 2002:adf:f287:: with SMTP id k7mr23899947wro.280.1621934495731; Tue, 25 May 2021 02:21:35 -0700 (PDT) Original-Received: from krug (a94-133-55-152.cpe.netcabo.pt. [94.133.55.152]) by smtp.gmail.com with ESMTPSA id p187sm10266895wmp.28.2021.05.25.02.21.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 May 2021 02:21:34 -0700 (PDT) In-Reply-To: <651fcd24-679a-3476-cb55-762edfc0c1bc@daniel-mendler.de> (Daniel Mendler's message of "Tue, 25 May 2021 05:06:23 +0200") Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=joaotavora@gmail.com; helo=mail-wr1-x42d.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:269842 Archived-At: Daniel Mendler writes: > On 5/25/21 12:46 AM, Jo=C3=A3o T=C3=A1vora wrote: >> I think rotation makes sense in vanilla icomplete, but not in >> icomplete-vertical-mode. So for the latter, I think I will just take >> the cue from Vertico and use an index (or equivalent). Since it's in >> GNU ELPA, maybe even borrow some code :-) > > Oh, I disagree here. I think Icomplete should continue to use rotations, > since this is what Icomplete is. I don't think Icomplete, or anything in Emacs, is defined by any one thing. Things in Emacs do some things, and then people come and add more things, usually configurable. Icomplete has lots of switches that change its behaviour. icomplete-vertical-mode is a new mode for Emacs 28, so if any users are very attached to the rotation, they'll likely come forward and the obvious answer is to make a toggle. > Why bake in two very different modi inside Icomplete, given that > Vertico exists? I don't follow. A lot of "vertical completers" existed before either Icomplete or Vertico, and that didn't prevent authors of the latter to make them. Some people would ask you back, "why make Vertico given that Icomplete exists?!" I'm not among these people. Maybe Vertico does something special or you simply enjoy writing it and maintaining it, all valid reasons to me. > Honestly, I think it would be better than just import Vertico into > Emacs then. Of course it also lives happily on ELPA. No objections here. > Baking two such different modi in Icomplete only complicates things and For whom? For you? icomplete-vertical-mode wasn't my idea, though I quite like that one is able to combine it with fido-mode, for example. > I don't consider Icomplete a clean implementation actually, since it > bakes both `completion-in-region` and `completing-read` into one package > (see my criticism on the README of Vertico and Corfu). I don't have an opinion on cleanliness but icomplete has been working ok for me. I used to use ido-mode, which is a bit "dirtier" than icomplete, so to speak. But if your stuff is extra-clean, that's great. >>>> Another idea is to make icomplete work for >>>> `completion-in-region-function`. >>> >>> Icomplete already should somehow work as a >>> `completion-in-region-function`, but I think it is a bit brittle. >>=20 >> I have a vague recollection that Someone Somewhere (tm) in one of my >> extensions over at GitHub tried it out and found it could mostly work >> with some tweaks. Will search for it. > > I also tried it out and it somehow works. Cool, what did you do to make it work? > But as argued above, I think it is actually better to maintain this in > separate packages, at least if you start from a clean slate. This way > one can do away with all these icomplete--field-beg accessors too. I don't see why starting from a clean slate is desired or not. Also don't see the problem with those accessors. At any rate they seem implementation details. > Of course I will not hold you back from revamping Icomplete > completely. It is good to have multiple UIs. But you could seriously > consider my packages - I think they are exactly what you may be > looking for I'll try your packages, but I'm fine with icomplete.el. I've been using it for some years and I want to use it. I don't want to revamp it completely, just maybe make its vertical mode slightly better. In fact, this whole thread is about your patch to do just that :) I also want to try it for completion-in-region, so be sure to let me know what you did to get it working. Jo=C3=A3o BTW: if you're into completion system widgets, one thing that's sorely missing in Emacs IMO is a completion tooltip in C that uses the same display as the very nice new tty menus instead of overlays or tiny frames.