Subject: bug#62198: [PATCH] Eglot: Send clientInfo during the initialize request

From: João Távora <[email-masked]>
Date: Sun, 19 Mar 2023 13:23:29 +0000

On Sun, Mar 19, 2023 at 12:15 PM Felician Nemeth
<[email-masked]> wrote:
>
> Hi Michael,
>
> > FTR, trampver.el is always generated from trampver.el.in in the Tramp
> > repository, see <https://git.savannah.gnu.org/cgit/tramp.git/plain/lisp/trampver.el.in>.
>
> Ah, okay, sorry.
>
> At any rate, I think a Makefile would be an overkill for this little
> feature.

FWIW, my other SLY extension also has a complicated "scan own file"
thing.  Known to not work extremely well/be very useful...

> So maybe clientInfo should just send the name of the client if
> João is not happy with the previous approach finding out the version of
> Eglot.

I don't know if I'm happy with it, since I'm not familiar with what
it does.

The version could be useful.  The problem is that it is tricky
to get right, meaning something that you can really rely on.  Ideally
I'd like to know two things in the log transcript some hypothetical
bug reporter shares:

1. Is this an unmodified GNU(-devel) ELPA version of Eglot installed by
   the only officially supported `M-x package-install` method?  If so,
   what version exactly?

2. This is something else, a user compilation, a straight-installed
   package, nix installation (never tried these, but they show
   up in the wild a lot, and are problematic like in
   https://github.com/joaotavora/eglot/discussions/1182).

I don't think any more granularity within 2 would be very useful,
especially to the server devs.  Although it _could_ be useful to
somehow debug -- not via LSP messages to server, but in the events
log as an internal message -- the versions of the packages that
Eglot depends on.  But that's a broader idea, I think, and one
more suitable for a future M-x report-bug-in-elpa-package.

If this is not easy to do without complex libraries, i'd prefer just to
send the client name via LSP.

João