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?Daniel_Mart=C3=ADn?= Newsgroups: gmane.emacs.devel Subject: Re: Xref completion Date: Mon, 07 Dec 2020 10:27:47 +0100 Message-ID: References: <873617ets1.fsf@ambrevar.xyz> <878sazzsw5.fsf@mail.linkov.net> <7593e751-cff0-7c1a-7d4c-f927a16c07c9@yandex.ru> <3b255b14-6494-99dc-1e78-9607e0d1fcd9@yandex.ru> <87tut351ea.fsf@mail.linkov.net> <9bbe9827-8e96-e45c-2e0f-23a4fb5aea33@yandex.ru> <87pn3q8ulz.fsf@mail.linkov.net> <7e7e6923-851f-c1c0-4816-d84debe6570b@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17870"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (darwin) Cc: Juri Linkov , William Xu , emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Dec 07 10:29:30 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 1kmCpl-0004XQ-Ip for ged-emacs-devel@m.gmane-mx.org; Mon, 07 Dec 2020 10:29:29 +0100 Original-Received: from localhost ([::1]:36620 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmCpk-0001cG-LO for ged-emacs-devel@m.gmane-mx.org; Mon, 07 Dec 2020 04:29:28 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43360) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmCoQ-0001BB-GY for emacs-devel@gnu.org; Mon, 07 Dec 2020 04:28:06 -0500 Original-Received: from sonic308-17.consmr.mail.ir2.yahoo.com ([77.238.178.145]:41054) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kmCoG-0000sl-DQ for emacs-devel@gnu.org; Mon, 07 Dec 2020 04:28:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1607333269; bh=0gx4zwxE+Xlg+eBYsCDPIVFH8pKZXV5yFlm2fkOCaFM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject; b=j1YZi69LR47zkVBoA4ufjOFCocFpCsFZX3QQVOSN8+IY3vUZmBCwHZT7JMvaz7DvxLNKsBAdH4ahqxax6jv3vsw3p2oxxa9IoqCeOY3EiZSTzYVVCCWkOSXfqd6Zxjx7vMIC6ZO31fEy7/fVyF5tgwGQ3sq2+hunoKGJhorlxEYRgv2CetBUCpYLJe7tHPjB0IwlOtM+pREokOdG25je+jiSD4AK5CxEO29TVFmW/OTMh8ZYyAbG3k0ES8E6C8KrPEabRFPAWm/yIxN2Nd8NIeJFPg/n49HIVG7OhJ5KWl9vipAPDngWZ+s/9YcPZ8rxH5KVShmWHYjPCKU1it3Paw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1607333269; bh=Iqk99XYD+XjTEODLnleQWsosIgR414Ji2fSvSqdsUC+=; h=From:To:Subject:Date:From:Subject; b=CmCLTUV4I9DyHBb3ZidT1U14quTJZlCvRTSM8aMhuKRMbZFC8dLIPKzIcWkPTnsz81OyAAar9Fo82V0vFkSGN6SrwNHTavqEwg0u4cVtOKHrC+wOZ6AE0GpNFS/ZThc+JEXq1+nQuMIISYw1090cS2v9v0cma3L7NH+LYreAGdg3mKCxxpglqly5L/kUGzm02glcB3rAF7MD8RxiwCGuZjpXHNLrMcrQO7+KORJBf2PKHB37hFqvJdtnAWJP8pI4D2q7K8E2fDHCJspYaGaFm0SNwCDayIl1osFkBkFCsTi2RE6bX5QkBvrIzdyQSvoIZwsFjgZ0XHrPA3KiTEdK1A== X-YMail-OSG: drD8CsEVM1m6jsrGiWCdN022YYKMuGret45sSvJLeg4TeURn2Aih9E_IXDvgI1t QZr7DGnZOVaQcAhJWh2NODb7XuzvtBaU_4l1zBH31vtQlg4nJbd0zjGPE5ho42mcwNVyr5bot_EC WqdFsYQNaSjMss90GozbFxWA7lw6Tos8ncGjMCRUEGPhd0qGtjTucZ8W00772JujJdSwMxSA4mD6 Q0PJvjKLhkxp8KVV5WGqt0P1Ny14_D3GwnB1.Lut0FXtAuRpJjS5zDwKc1_iyB4NB8QxLwtC9Lcm g62y0G1LW_ekuLCjpgX_3MwEVsQg608gIKiQmIuweG3awyVtHK9d4TnRE1S0k62Rr93DUym.kHzP E0lPv.iynVbeBnoR6TEVHjQWZu6gqqG5yA.Wz9hv3EW9WprhREnbNIDn.XYAdQeZq1x_8jYGHNMX DaZJMUL_Zg6_gLnr9oBIXbwrmtVIeCd7UJGZFvtWiX4TQAdeNO839E7GYPawG2PhT3U41MFDH1DO Q5oOIZbK.rUHDWBbxQ6GhxKX.S7EfJkv2OYxjCQrQxIdo_kC2nYTLgo4Ypr_jzncGZnG91keRYSd JUW2bl2tM0Yc7RQmVz9gXIlttEGiCov3Hh8W2uHQp3G4MOnWpDwB9GFUvjig8CPBlLcluQCLFtqv X97ljLdQ3xhgrvfuwJQmTnAAggRHUr9lIFqAjCoMWVY9eETbNf1o0qvB.SQaeopssPpJYTjeOrSE Ha0EhYmpRdp_pzyjJcMOQlRjcwYnAe1hCkIpAi0oQCl.R9WLHJcnr.UOlrR.8A9xg_8BZKZx4GGm Zymq6Np2wdQ_NXVjwmJ12OAb8G_voaH3QYzb9CshMt Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.ir2.yahoo.com with HTTP; Mon, 7 Dec 2020 09:27:49 +0000 Original-Received: by smtp414.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID d57e2b9fc16fd42f89649b13e6a77caf; Mon, 07 Dec 2020 09:27:48 +0000 (UTC) In-Reply-To: <7e7e6923-851f-c1c0-4816-d84debe6570b@yandex.ru> (Dmitry Gutov's message of "Sat, 5 Dec 2020 03:12:43 +0200") X-Mailer: WebService/1.1.17111 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Apache-HttpAsyncClient/4.1.4 (Java/11.0.8) Received-SPF: pass client-ip=77.238.178.145; envelope-from=mardani29@yahoo.es; helo=sonic308-17.consmr.mail.ir2.yahoo.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, 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:260471 Archived-At: Dmitry Gutov writes: > > On the one hand, it feels kinda faster, on the other, it lacks the > ability to "look around" when you really need it. In an ideal world, I > guess the UI would be somewhere in the middle. One of the reasons I see people integrate Ivy/Helm with Xref is to have fuzzy filtering of the results, but I don't see why we couldn't have that in the *xref* buffer. First I thought if we could implement this by extending an existing Emacs command like flush-lines or occur to "teach" it about the specificities of the *xref* buffer, but that doesn't seem very clean. So perhaps we could add a new command that asks for a regexp in the minibuffer and filters the results in the *xref* buffer to only contain those items from a group that matches that regular expression. With q you will go back to show the complete list of xref items and groups. Is there any core Emacs package that performs a similar filtering? We could learn from its workflow, then. Why matching the group exclusively? In my opinion, matching the group only is better because the typical use case I have in mind is a big codebase with thousands of xref results that are spread around hundreds of files. You usually want to filter by the string that varies the most, which in most cases is the group (eg. if I only want to see results from unit tests, then I'd filter the *xref* buffer by "*Tests.cpp"; If I only want to see results from header files, I'd filter by "*.h"). Thoughts?