aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
diff options
context:
space:
mode:
authorJaehwang Jung <tomtomjhj@gmail.com>2025-07-27 04:58:51 +0900
committerGitHub <noreply@github.com>2025-07-26 12:58:51 -0700
commitb4ba27c238ec342bcb01fa59ab1eaf6996a4c6ee (patch)
tree93ad3b2143189844e6eaf62c90bda5f3e9dccb2e /runtime/lua/vim
parent8a7bfdc0792229e87fcaebdcf2e877fb91e2455c (diff)
downloadrneovim-b4ba27c238ec342bcb01fa59ab1eaf6996a4c6ee.tar.gz
rneovim-b4ba27c238ec342bcb01fa59ab1eaf6996a4c6ee.tar.bz2
rneovim-b4ba27c238ec342bcb01fa59ab1eaf6996a4c6ee.zip
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 (limited to 'runtime/lua/vim')
-rw-r--r--runtime/lua/vim/lsp/codelens.lua4
1 files changed, 3 insertions, 1 deletions
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