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


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Augusto Stoffel <arstoffel <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Comments on Eglot manual
Date: Sun, 30 Oct 2022 12:05:27 +0100
Find below some comments on the "Customizing Eglot" section of the manual:

> [...] via the variable ‘eglot-workspace-configuration’.  Eglot sends the
> portion of the settings contained in this variable to each server for
> which such settings were defined in the variable.

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.

> 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-{}'.

>    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.
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 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".




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.