From b4ba27c238ec342bcb01fa59ab1eaf6996a4c6ee Mon Sep 17 00:00:00 2001 From: Jaehwang Jung Date: Sun, 27 Jul 2025 04:58:51 +0900 Subject: [PATCH] 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. --- runtime/lua/vim/lsp/codelens.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/lua/vim/lsp/codelens.lua b/runtime/lua/vim/lsp/codelens.lua index 99028bcd3b..938ecf6e1c 100644 --- 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