feat(lsp): set client offset_encoding if server supports positionEncoding

If the server sends the positionEncoding capability in its
initialization response, automatically set the client's offset_encoding
to use the value provided.
This commit is contained in:
Gregory Anders
2023-06-01 11:15:33 -05:00
parent afb70eba8c
commit fb54e6980e
2 changed files with 32 additions and 0 deletions

View File

@@ -1344,6 +1344,10 @@ function lsp.start_client(config)
assert(result.capabilities, "initialize result doesn't contain capabilities")
client.server_capabilities = protocol.resolve_capabilities(client.server_capabilities)
if client.server_capabilities.positionEncoding then
client.offset_encoding = client.server_capabilities.positionEncoding
end
if next(config.settings) then
client.notify('workspace/didChangeConfiguration', { settings = config.settings })
end