commit b4ba27c238ec342bcb01fa59ab1eaf6996a4c6ee
parent 8a7bfdc0792229e87fcaebdcf2e877fb91e2455c
Author: Jaehwang Jung <tomtomjhj@gmail.com>
Date: Sun, 27 Jul 2025 04:58:51 +0900
fix(lsp): codelens extmark line out of range (#35070)
Problem:
When setting extmark for a codelens after it's asynchronously resolved,
the line may have been removed, raising "invalid 'line': out of range"
error. This is a regression from #34888.
Solution:
Re-introduce the line count check.
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/runtime/lua/vim/lsp/codelens.lua b/runtime/lua/vim/lsp/codelens.lua
@@ -260,7 +260,9 @@ local function resolve_lenses(lenses, bufnr, client_id, callback)
local function display_line_countdown()
num_resolved_line_lenses = num_resolved_line_lenses + 1
if num_resolved_line_lenses == #line_lenses then
- display_line_lenses(bufnr, ns, line, line_lenses)
+ if line <= api.nvim_buf_line_count(bufnr) then
+ display_line_lenses(bufnr, ns, line, line_lenses)
+ end
countdown(#line_lenses)
end
end