diff options
-rw-r--r-- | runtime/doc/lsp.txt | 5 | ||||
-rw-r--r-- | runtime/lua/vim/lsp.lua | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/runtime/doc/lsp.txt b/runtime/doc/lsp.txt index 6d232657c9..be1d209ac8 100644 --- a/runtime/doc/lsp.txt +++ b/runtime/doc/lsp.txt @@ -789,7 +789,10 @@ buf_request_sync({bufnr}, {method}, {params}, {timeout_ms}) Parameters: ~ • {bufnr} (`integer`) Buffer handle, or 0 for current. • {method} (`string`) LSP method name - • {params} (`table?`) Parameters to send to the server + • {params} (`table|(fun(client: vim.lsp.Client, bufnr: integer): table?)?`) + Parameters to send to the server. Can also be passed as + a function that returns the params table for cases where + parameters are specific to the client. • {timeout_ms} (`integer?`, default: `1000`) Maximum time in milliseconds to wait for a result. diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index bb4e1cd28f..8c590ab6c8 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -1230,7 +1230,9 @@ end --- ---@param bufnr integer Buffer handle, or 0 for current. ---@param method string LSP method name ----@param params table? Parameters to send to the server +---@param params? table|(fun(client: vim.lsp.Client, bufnr: integer): table?) Parameters to send to the server. +--- Can also be passed as a function that returns the params table for cases where +--- parameters are specific to the client. ---@param timeout_ms integer? Maximum time in milliseconds to wait for a result. --- (default: `1000`) ---@return table<integer, {error: lsp.ResponseError?, result: any}>? result Map of client_id:request_result. |