From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Comparison of tools to search for related files Date: Tue, 06 Sep 2022 00:26:13 -0400 Message-ID: References: <87tu5lv92m.fsf@cassou.me> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9690"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: emacs-devel@gnu.org, Eli Zaretskii , Lars Ingebrigtsen To: Damien Cassou Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 06 06:28:32 2022 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 1oVQCN-0002Ow-Tf for ged-emacs-devel@m.gmane-mx.org; Tue, 06 Sep 2022 06:28:32 +0200 Original-Received: from localhost ([::1]:40638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oVQCM-0003A1-SV for ged-emacs-devel@m.gmane-mx.org; Tue, 06 Sep 2022 00:28:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40866) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oVQAL-0000IC-Kj for emacs-devel@gnu.org; Tue, 06 Sep 2022 00:26:27 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:50706) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oVQAG-0007Fc-UF; Tue, 06 Sep 2022 00:26:22 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 1C318100120; Tue, 6 Sep 2022 00:26:16 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 907631000D2; Tue, 6 Sep 2022 00:26:14 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1662438374; bh=q2X6E88YC+kt84KILhItp3K74n482g29AAyuYhgr1KQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=irholI8MBiyRe/1w3jrAr26j+8cFnkFaE0HAYXnpClTCrXgVpNd0pZ1jiHRjUSU8I 5LGBXB845N8ElU34c0kc4asGCouK7/sFeSGefGEQQUhl8SHQGw3ZcdKAePWuRFYmlF IISlP89wB4lyS3wPq7bEQE1r7U2Re8rSUy8uUtoyIkqrGHawTnKjhKMLbO0AdaP77u u06MWNE4g50I7HKdOJyNxP8PLIC0ZcU+3G04GrFVXqJeT5Jg0ltvCS0c1v0a6LdAoi 59ZBiyw5mKhG7xPZnRTscFrJhmnUfQz5213mDaGTfp7hQC2CmgfRY+AWwrmdvROpMa 8eDvHIpZwaJFQ== Original-Received: from pastel (unknown [157.52.9.190]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 5CE9C120500; Tue, 6 Sep 2022 00:26:14 -0400 (EDT) In-Reply-To: <87tu5lv92m.fsf@cassou.me> (Damien Cassou's message of "Mon, 05 Sep 2022 22:51:29 +0200") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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:294776 Archived-At: > This is the package I'm working on. It provides a command to jump to a > related file among existing candidates. It features a Domain-Specific > Language (DSL) to describe the relation between files. For Emacs core, > it would look like this I have not looked in detail at your proposal, but it seems to aim to cover a superset of what's supported by `find-sibling-file` and `ff-find-other-file`, which is great. But I keep dreaming of a tool that doesn't require *any* setup at all. In my ideal world, from a `MyComponent.js` I'd be able to type `M-x find-file-dwim RET .le RET` and that would jump to `MyComponent.less`. Or from `/opt/emacs-27/lisp/subr.el` I'd type `M-x find-file-dwim RET 28 RET` and that'd jump to `/opt/emacs-28/lisp/subr.el`. Maybe also: /foo/lisp/toto.el + test => /foo/tests/lisp/toto.el /foo/bar/lisp/toto.el + baz => /foo/bazaar/toto.el /foo/lisp/toto.el + te/-te => /foo/test/lisp/toto-tests.el Admittedly, I'm only thinking of the case where the target file already exists (we can only find the target file by looking at the filesystem to see which of the the many possible targets is meant), but it seems like most of it should be doable. Stefan