A language server should be able to support multiple root folders. At the moment a server is initialized with a single URI which translates to spinning a new LS instance. I do not think this is the most efficient way to handle multiple roots for LSP. Since users explicitly associate multiple root folders to a workspace, it is safe to assume that servers are expected to associate those on their structure.