Skip to content

workspace/configuration is impossible to implement on the client side #972

Open
@bstaletic

Description

@bstaletic

For reference: https://microsoft.github.io/language-server-protocol/specifications/specification-3-15/#workspace_configuration

The configuration section ask for is defined by the server and doesn’t necessarily need to correspond to the configuration store used be the client.

This makes it impossible for the client to implement workspace/configuration in a generic way. It absolutely requires server-specific knowledge, which turns the "LSP is the solution to the matrix problem" mantra on its head. More specifically:

Rust-analyzer

  • section is rust-analyzer
  • Client is supposed to return server_settings[ 'rust-analyzer' ]

Gopls

  • section is gopls
  • Client is supposed to return server_settings

Lua-language-server

  • sections are Lua, files.associations and files.exclude
  • Client is supposed to return server_settings, and no clue what for the other two

 

Since a generic implementation is impossible, can we define what section actually means?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions