-
Notifications
You must be signed in to change notification settings - Fork 18.5k
Description
Right now, gopls uses the workspace/configuration request to resolve configuration of workspace folders.
As described in #54559 (comment), it is odd to manage configuration server-side, when all other session state is managed client-side. Furthermore, as described in microsoft/language-server-protocol#972, the workspace/configuration request poses problems for clients, as they need to specialize to various servers.
IIUC, the only reason gopls makes workspace/configuration requests is to support different settings for different workspace folders. In particular, this allows for different sets of build tags per folder, which is a workaround for lacking build tag support in gopls (#29202). I'm not sure whether anyone is actually using this workaround.
We should investigate if we can change gopls' configuration model to simply rely on initialization options and didChangeConfiguration payloads.