commit 0f1b17788eb584f41d59c12c968f5e1886655334
parent 8b75ca734541a42bf0d3f3fd8e39e94662084895
Author: Nicolas Hillegeer <nicolas@hillegeer.com>
Date: Tue, 12 Jul 2022 09:44:11 +0200
fix(lsp): account for initializing servers in vim.lsp.start (#19329)
Fixes #19326
Diffstat:
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
@@ -739,10 +739,12 @@ function lsp.start(config, opts)
end
config.name = config.name or (config.cmd[1] and vim.fs.basename(config.cmd[1])) or nil
local bufnr = api.nvim_get_current_buf()
- for _, client in pairs(lsp.get_active_clients()) do
- if reuse_client(client, config) then
- lsp.buf_attach_client(bufnr, client.id)
- return client.id
+ for _, clients in ipairs({ uninitialized_clients, lsp.get_active_clients() }) do
+ for _, client in pairs(clients) do
+ if reuse_client(client, config) then
+ lsp.buf_attach_client(bufnr, client.id)
+ return client.id
+ end
end
end
local client_id = lsp.start_client(config)