aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSooryakiran Ponnath <skp.frl@gmail.com>2023-06-20 15:17:13 -0400
committerGitHub <noreply@github.com>2023-06-20 21:17:13 +0200
commit3bf887f6e08fa272679187340ca483809275b20a (patch)
tree72cba1cc22ca39e0774f6bf46d31e735cfe1938e
parent1f0b2dc6cd8fbf650dfbfb3328de6e6284aec9e4 (diff)
downloadrneovim-3bf887f6e08fa272679187340ca483809275b20a.tar.gz
rneovim-3bf887f6e08fa272679187340ca483809275b20a.tar.bz2
rneovim-3bf887f6e08fa272679187340ca483809275b20a.zip
fix(lsp): always return boolean in lsp.buf_client_attach (#24077)
Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
-rw-r--r--runtime/doc/lsp.txt4
-rw-r--r--runtime/lua/vim/lsp.lua3
-rw-r--r--test/functional/plugin/lsp_spec.lua2
3 files changed, 7 insertions, 2 deletions
diff --git a/runtime/doc/lsp.txt b/runtime/doc/lsp.txt
index bc924df39b..3732ddf2bd 100644
--- a/runtime/doc/lsp.txt
+++ b/runtime/doc/lsp.txt
@@ -678,6 +678,10 @@ buf_attach_client({bufnr}, {client_id}) *vim.lsp.buf_attach_client()*
• {bufnr} (integer) Buffer handle, or 0 for current
• {client_id} (integer) Client id
+ Return: ~
+ (boolean) success `true` if client was attached successfully; `false`
+ otherwise
+
buf_detach_client({bufnr}, {client_id}) *vim.lsp.buf_detach_client()*
Detaches client from the specified buffer. Note: While the server is
notified that the text document (buffer) was closed, it is still able to
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index 25e69a8006..cb1c101c58 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -1799,6 +1799,7 @@ end
---
---@param bufnr (integer) Buffer handle, or 0 for current
---@param client_id (integer) Client id
+---@return boolean success `true` if client was attached successfully; `false` otherwise
function lsp.buf_attach_client(bufnr, client_id)
validate({
bufnr = { bufnr, 'n', true },
@@ -1887,7 +1888,7 @@ function lsp.buf_attach_client(bufnr, client_id)
end
if buffer_client_ids[client_id] then
- return
+ return true
end
-- This is our first time attaching this client to this buffer.
buffer_client_ids[client_id] = true
diff --git a/test/functional/plugin/lsp_spec.lua b/test/functional/plugin/lsp_spec.lua
index e9993eee2a..8eced4bfb5 100644
--- a/test/functional/plugin/lsp_spec.lua
+++ b/test/functional/plugin/lsp_spec.lua
@@ -1070,7 +1070,7 @@ describe('LSP', function()
eq(full_kind, client.server_capabilities().textDocumentSync.change)
eq(true, client.server_capabilities().textDocumentSync.openClose)
exec_lua [[
- assert(not lsp.buf_attach_client(BUFFER, TEST_RPC_CLIENT_ID), "Shouldn't attach twice")
+ assert(lsp.buf_attach_client(BUFFER, TEST_RPC_CLIENT_ID), "Already attached, returns true")
]]
end;
on_exit = function(code, signal)