From fb54e6980ea6fec218a11f118e97ef65f250395a Mon Sep 17 00:00:00 2001 From: Gregory Anders Date: Thu, 1 Jun 2023 11:15:33 -0500 Subject: 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. --- runtime/lua/vim/lsp.lua | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'runtime/lua') diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index d64ed0b5a3..baf8b5c1a8 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -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 -- cgit