diff options
author | Gregory Anders <greg@gpanders.com> | 2023-06-01 11:15:33 -0500 |
---|---|---|
committer | Gregory Anders <greg@gpanders.com> | 2023-06-01 11:34:23 -0500 |
commit | fb54e6980ea6fec218a11f118e97ef65f250395a (patch) | |
tree | 8279755b38e3772d3e39010b47034591fb402453 /runtime/lua/vim/lsp.lua | |
parent | afb70eba8cdfc44b3633bdb91a1554b86b06a5d0 (diff) | |
download | rneovim-fb54e6980ea6fec218a11f118e97ef65f250395a.tar.gz rneovim-fb54e6980ea6fec218a11f118e97ef65f250395a.tar.bz2 rneovim-fb54e6980ea6fec218a11f118e97ef65f250395a.zip |
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.
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r-- | runtime/lua/vim/lsp.lua | 4 |
1 files changed, 4 insertions, 0 deletions
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 |