aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/handlers.lua
diff options
context:
space:
mode:
authorYi Ming <ofseed@foxmail.com>2025-02-11 17:19:44 +0800
committerYi Ming <ofseed@foxmail.com>2025-02-11 18:48:56 +0800
commite8b5dd1e89bfa984e7b943443a291484cba23fac (patch)
tree3d8419bb98c6b2a951bc994e30dd26bd7008f690 /runtime/lua/vim/lsp/handlers.lua
parent67221497762ab5a055451c40a374e03bb620a68a (diff)
downloadrneovim-e8b5dd1e89bfa984e7b943443a291484cba23fac.tar.gz
rneovim-e8b5dd1e89bfa984e7b943443a291484cba23fac.tar.bz2
rneovim-e8b5dd1e89bfa984e7b943443a291484cba23fac.zip
feat(lsp)!: `symbol_to_item` requires `offset_encoding`
Diffstat (limited to 'runtime/lua/vim/lsp/handlers.lua')
-rw-r--r--runtime/lua/vim/lsp/handlers.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/lua/vim/lsp/handlers.lua b/runtime/lua/vim/lsp/handlers.lua
index b35140dfad..25f87a7164 100644
--- a/runtime/lua/vim/lsp/handlers.lua
+++ b/runtime/lua/vim/lsp/handlers.lua
@@ -231,7 +231,7 @@ end
---
--- The returned function has an optional {config} parameter that accepts |vim.lsp.ListOpts|
---
----@param map_result fun(resp, bufnr: integer): table to convert the response
+---@param map_result fun(resp, bufnr: integer, position_encoding: 'utf-8'|'utf-16'|'utf-32'): table to convert the response
---@param entity string name of the resource used in a `not found` error message
---@param title_fn fun(ctx: lsp.HandlerContext): string Function to call to generate list title
---@return lsp.Handler
@@ -244,7 +244,8 @@ local function response_to_list(map_result, entity, title_fn)
end
config = config or {}
local title = title_fn(ctx)
- local items = map_result(result, ctx.bufnr)
+ local client = assert(vim.lsp.get_client_by_id(ctx.client_id))
+ local items = map_result(result, ctx.bufnr, client.offset_encoding)
local list = { title = title, items = items, context = ctx }
if config.on_list then