From 70ea589d79f66ea29cfc20451a1a177652a24f27 Mon Sep 17 00:00:00 2001 From: Maria Solano Date: Mon, 10 Nov 2025 06:58:56 -0800 Subject: fix(lsp): deprecate `vim.lsp.get_buffers_by_client_id` (#36449) --- runtime/lua/vim/lsp.lua | 6 ++++++ runtime/lua/vim/lsp/_capability.lua | 3 ++- runtime/lua/vim/lsp/inlay_hint.lua | 2 +- runtime/lua/vim/lsp/semantic_tokens.lua | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) (limited to 'runtime/lua/vim') diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index ca3d14a974..97cf8c55c3 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -1033,9 +1033,15 @@ end --- Returns list of buffers attached to client_id. --- +---@deprecated ---@param client_id integer client id ---@return integer[] buffers list of buffer ids function lsp.get_buffers_by_client_id(client_id) + vim.deprecate( + 'vim.lsp.get_buffers_by_client_id()', + 'vim.lsp.get_client_by_id(id).attached_buffers', + '0.13' + ) local client = lsp.get_client_by_id(client_id) return client and vim.tbl_keys(client.attached_buffers) or {} end diff --git a/runtime/lua/vim/lsp/_capability.lua b/runtime/lua/vim/lsp/_capability.lua index 243ed6f24f..f12d1a38f6 100644 --- a/runtime/lua/vim/lsp/_capability.lua +++ b/runtime/lua/vim/lsp/_capability.lua @@ -133,7 +133,8 @@ function M.enable(name, enable, filter) for _, it_bufnr in ipairs( bufnr and { it_client.attached_buffers[bufnr] and bufnr } - or vim.lsp.get_buffers_by_client_id(it_client.id) + or vim.tbl_keys(it_client.attached_buffers) + or {} ) do if enable ~= M.is_enabled(name, { bufnr = it_bufnr, client_id = it_client.id }) then diff --git a/runtime/lua/vim/lsp/inlay_hint.lua b/runtime/lua/vim/lsp/inlay_hint.lua index 867055128e..a64cf5aa2a 100644 --- a/runtime/lua/vim/lsp/inlay_hint.lua +++ b/runtime/lua/vim/lsp/inlay_hint.lua @@ -117,7 +117,7 @@ function M.on_refresh(err, _, ctx) if err then return vim.NIL end - for _, bufnr in ipairs(vim.lsp.get_buffers_by_client_id(ctx.client_id)) do + for bufnr in ipairs(vim.lsp.get_client_by_id(ctx.client_id).attached_buffers or {}) do for _, winid in ipairs(api.nvim_list_wins()) do if api.nvim_win_get_buf(winid) == bufnr then if bufstates[bufnr] and bufstates[bufnr].enabled then diff --git a/runtime/lua/vim/lsp/semantic_tokens.lua b/runtime/lua/vim/lsp/semantic_tokens.lua index 3bd703785a..bbb06bf059 100644 --- a/runtime/lua/vim/lsp/semantic_tokens.lua +++ b/runtime/lua/vim/lsp/semantic_tokens.lua @@ -822,7 +822,7 @@ function M._refresh(err, _, ctx) return vim.NIL end - for _, bufnr in ipairs(vim.lsp.get_buffers_by_client_id(ctx.client_id)) do + for bufnr in ipairs(vim.lsp.get_client_by_id(ctx.client_id).attached_buffers or {}) do local highlighter = STHighlighter.active[bufnr] if highlighter and highlighter.client_state[ctx.client_id] then highlighter:mark_dirty(ctx.client_id) -- cgit