From: Dmitry Gutov <dmitry@gutov.dev>
To: Spencer Baugh <sbaugh@janestreet.com>
Cc: sbaugh@catern.com, 63829@debbugs.gnu.org,
monnier@iro.umontreal.ca, Juri Linkov <juri@linkov.net>
Subject: bug#63829: 29.0.90; project-find-file's future history breaks with common-parent-directory
Date: Sat, 19 Aug 2023 05:14:06 +0300 [thread overview]
Message-ID: <74c1bb5c-be77-feb6-0c54-9a2d600707a0@gutov.dev> (raw)
In-Reply-To: <ierv8dcnk5t.fsf@janestreet.com>
On 18/08/2023 23:57, Spencer Baugh wrote:
>
> BTW, one more feature in this vein (stealing this idea from Stefan)
> would be if we automatically moved point to the same location in the
> other file. That might be a little too magical. But it would be very
> cool...
>
> I guess the ideal thing we'd want is to move point to the same function,
> which is a bit trickier... could be done with imenu perhaps. Not
> sure...
We don't know how much these files could be different. One could be
empty (a newly-created one), or having totally different contents.
There is a way to detect a useful offset if the files are similar enough
(using 'diff -u''s output), I think we have that in diff-hl. But calling
'diff' when any file is visited seems like it will be minority
preference... I think.
> Maybe the right call would be to have a keybinding in C-x p p like j or
> something, which would just instantly jump you to the same file in the
> other project. So you'd just run C-x p p j and that would open the same
> file in the other project, with point inside the same function (using
> imenu), at the same offset in that function.
Sure, why not. As a part of your personal (or company-wise) settings?
> That could be helpful for other reasons too: I've often wanted "just put
> me anywhere in this other project, I don't care where", and this could
> be that command. Although I suppose mostly I want that because C-x p p
> isn't currently a generic prefix for any command, and if we convert it
> to be that (with next-default-directory or something), I won't need
> that.
Just in case you were not aware: project-switch-commands can also be set
to a single symbol, then just that command will be invoked.
> Alternatively, maybe C-x p j could be an alternative to C-x p p, and
> when it prompts for a project, it could prompt only for "sibling
> projects" which have the same file structure. And we could have a
> built-in way to detect sibling projects: Any other worktree of the
> current git repository is a sibling project. (And we would make this
> extensible too of course; maybe have both project-siblings and
> vc-list-worktrees as extension points)
I'm not convinced yet by the idea of 'project-siblings' generic (need
more uses/users), but the rest sounds good and very doable anyway.
next prev parent reply other threads:[~2023-08-19 2:14 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-01 22:32 bug#63829: 29.0.90; project-find-file's future history breaks with common-parent-directory Spencer Baugh
2023-06-02 6:47 ` Eli Zaretskii
2023-06-03 12:19 ` Dmitry Gutov
2023-06-03 12:48 ` Eli Zaretskii
2023-06-03 13:48 ` Dmitry Gutov
2023-06-03 2:30 ` Dmitry Gutov
2023-06-03 11:00 ` Spencer Baugh
2023-06-04 16:36 ` Juri Linkov
2023-06-06 1:40 ` Dmitry Gutov
2023-06-06 15:55 ` Spencer Baugh
2023-08-10 12:02 ` sbaugh
2023-08-12 1:23 ` Dmitry Gutov
2023-08-14 20:12 ` Spencer Baugh
2023-08-14 22:47 ` sbaugh
2023-08-16 1:49 ` Dmitry Gutov
2023-08-16 2:57 ` sbaugh
2023-08-17 2:14 ` Dmitry Gutov
2023-08-17 19:41 ` Spencer Baugh
2023-08-17 20:12 ` Spencer Baugh
2023-08-18 20:57 ` Spencer Baugh
2023-08-19 2:14 ` Dmitry Gutov [this message]
2023-08-20 17:23 ` Juri Linkov
2023-08-20 17:16 ` Juri Linkov
2023-08-21 1:15 ` Dmitry Gutov
2023-08-23 2:13 ` Dmitry Gutov
2023-08-19 2:08 ` Dmitry Gutov
2023-08-19 12:00 ` sbaugh
2023-08-21 1:51 ` Dmitry Gutov
2023-08-20 17:20 ` Juri Linkov
2023-08-21 1:43 ` Dmitry Gutov
2023-08-21 7:06 ` Juri Linkov
2023-08-23 0:37 ` Dmitry Gutov
2023-08-23 2:26 ` Dmitry Gutov
2023-08-23 17:52 ` Juri Linkov
2023-08-23 18:25 ` Dmitry Gutov
2023-08-20 17:13 ` Juri Linkov
2023-08-21 1:17 ` Dmitry Gutov
2023-08-21 6:58 ` Juri Linkov
2023-08-23 0:27 ` Dmitry Gutov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=74c1bb5c-be77-feb6-0c54-9a2d600707a0@gutov.dev \
--to=dmitry@gutov.dev \
--cc=63829@debbugs.gnu.org \
--cc=juri@linkov.net \
--cc=monnier@iro.umontreal.ca \
--cc=sbaugh@catern.com \
--cc=sbaugh@janestreet.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).