Subject: Re: bug#64608: 29.0.90; Eglot: reuse server when visiting external files

From: Eli Zaretskii <[email-masked]>
Date: Fri, 14 Jul 2023 13:38:49 +0300

> From: Filippo Argiolas <[email-masked]>
> Date: Fri, 14 Jul 2023 07:51:28 +0200
> 
> Hi,
> 
> I'm working on a couple of projects each with their main root and all
> sharing some common code in an external root dir.
> 
> Each project has a compile_commands.json that knows how to compile the
> external shared code. External root has no compile db and doesn't know
> how to compile itself.
> 
> Eglot currently allows me to jump to external files using xref while
> keeping the current active running server by setting
> eglot-extend-to-xref.
> 
> Project.el allows me to visit external files using project-or-external-
> functions by defining project-external-roots on my custom backend or
> project-vc-external-roots-functions with the default backend.
> 
> It would be great if I configure Eglot to not switch to a new server
> when visiting an external file in a similar way it does with xref.
> 
> Any pointer to achieve something like this with current project.el and
> eglot code would also be great. Maybe with a custom project backend?

Sorry, I don't understand: AFAIU Eglot reuses the same server for all
the buffers under the same major-mode, so you should already have what
you want?  Or what am I missing?

Adding João to this discussion.