-
Notifications
You must be signed in to change notification settings - Fork 901
Description
Language servers can have their own settings, can be pushed from the client to the server using workspace/didChangeConfiguration or requested by the server using workspace/configuration. Each language server can have its own configuration fields, and they tend to configure the structure of these settings to the companion VSCode plugin - more specifically, the contributes.configuration field of the package.json file. This allows (I assume) VSCode to render a nice menu with all the language server's specific settings.
Since LSP is supposed to be tool agnostic, it would be nice if the client could get from the language server the specifications for the configuration it supports. That way every client - not just VSCode - could render a UI for the user to configure the language server. Or, at the very least least, format a scaffold for the configuration for the user to manually edit.
Additionally, since configuration settings can come from other sources (e.g. - project configuration files), I think the client should be able to get from the server the current values of the configuration, to display them in the new settings UIs and to avoid overwriting them with the defaults it gets from the language server.