[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61868: 29.0.60; Eglot: setting "workspace" configurations should be
From: |
Augusto Stoffel |
Subject: |
bug#61868: 29.0.60; Eglot: setting "workspace" configurations should be easier |
Date: |
Tue, 28 Feb 2023 21:35:20 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
On Tue, 28 Feb 2023 at 19:33, João Távora wrote:
> Augusto Stoffel <arstoffel@gmail.com> writes:
>
>> I would suggest adding a refined version of this, using a regular buffer
>> for input. Moreover, one could allow editing the configuration as a
>> JSON (perhaps also retaining the option to edit as a plist). This would
>> be a natural extension of the existing
>> `eglot-show-workspace-configuration' command.
>
> I like this idea. I agree it's crazy hard to set and get right. But
> this idea needs to be refined indeed.
>
> I'm not crazy about adding this complexity to Eglot, especially because
> there's nothing really eglot-specific about it. It could be used for
> any variable you want to add to the current project's root
> .dir-locals.el. But that involves much more consultation in
> emacs-devel.
I see this differently. Emacs doesn't have deeply nested namespaces for
variables and user options. It's all pretty flat, so there is almost
surely never going to be a variable that is nearly as tricky to set.
[ Incidentally, when I suggested to allow such syntax:
((python-mode
. ((eglot-workspace-configuration
. (("pylsp.plugins.jedi_completion.include_params" . t)
("pylsp.plugins.jedi_completion.fuzzy" . t)
("pylsp.plugins.pylint.enabled" . :json-false))))))
you said it was un-Lispy or something, but I really think it's rather
the opposite. Emacs has flat names pretty much like the above. ]
> Here's an idea. Let's make a bare-bones
> eglot-show-workspace-configuration that simplifies this 80%. The other
> 20% can for later.
>
> In the patch I sent for the other "workspace configuration" bug, the
> .dir-locals.el is consulted late (actually it is even now). So a simple
> implementation of eglot-edit-workspace-configuration could be just:
>
> (defun eglot-edit-workspace-configuration () (interactive)
> (find-file (expand-file-name ".dir-locals.el" (project-root
> (project-current)))))
>
> My bet is that that two-liner would go a long way.
No, this is not enough. At the very least I need a history variable to
look at the previous configurations. This feature has to be a thing on
top of of `eglot-show-workspace-configuration'.