GNU bug report logs - #58894
Comments on Eglot manual

Previous Next

Package: emacs;

Reported by: Augusto Stoffel <arstoffel <at> gmail.com>

Date: Sun, 30 Oct 2022 11:06:01 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: João Távora <joaotavora <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 58894 <at> debbugs.gnu.org, Augusto Stoffel <arstoffel <at> gmail.com>
Subject: bug#58894: Comments on Eglot manual
Date: Thu, 3 Nov 2022 16:08:41 +0000
[Message part 1 (text/plain, inline)]
Hello, my comments:

On Thu, Nov 3, 2022, 13:51 Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: Augusto Stoffel .
> >
> > This is not true.  The entire `eglot-workspace-configuration' is sent to
> > the server; presumably, severs ignore everything which is not under its
> > own prefix, but that's just a convention.
>

Augusto is correct. His phrasing is acceptably clear for the manual imo.

> > JSON values ‘true’, ‘false’, ‘null’ and ‘{}’ are represented by the
> > > Lisp values ‘t’, ‘:json-false’, ‘nil’, and ‘eglot-{}’, respectively.
> >
> > Unless something has been renamed recently, it's `eglot--{}', not
> > `eglot-{}'.
>

Something has been renamed recently. eglot--{} is an alias.

> >    Alternatively, the same configuration could be defined as follows:
> > >
> > >      ((nil
> > >        . ((eglot-workspace-configuration
> > >            . (:pylsp (:plugins (:jedi_completion (:include_params t
> > >                                                   :fuzzy t)
> > >                                 :pylint (:enabled :json-false)))
> > >               :gopls (:usePlaceholders t))))))
> >
> > This is more or less obvious, if you know how dir-local variables work.
>

Many people don't, judging from a substantial amount of interactions on
this topic.

> So I would suggest mentioning a different configuration method:
> >
> > Alternatively, you can set a default workspace configuration globally by
> > adding the following to your init file:
> >
> >        (setq-default
> >          eglot-workspace-configuration
> >          '(:pylsp (:plugins (:jedi_completion (:include_params t
> >                                                :fuzzy t)
> >                              :pylint (:enabled :json-false)))
> >            :gopls (:usePlaceholders t))
>

This is purposedly not mentioned because it is not recommended and
confusing. Workspace settings are project-specific by definition. Your idea
probably works, but is better implemented as initializationOptions,
command-line switches or other means of configuring the server
independently of the workspace it is meant to operate on.

> >    This is an equivalent setup which sets the value for all the
> > > major-modes inside the project; Eglot will use for each server only the
> > > section of the parameters intended for that server.
> >
> > Again, this is not true.  Rather, each sever will presumably ignore any
> > settings not under its own "namespace".
>

Yes, that is the correct idea.

João, any comments?
>

See above.

Also, I think this information should migrate to a separate sub-section,
alongside a sub-section devoted to the "workspace folders" topic.

João

>
[Message part 2 (text/html, inline)]

This bug report was last modified 2 years and 198 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.