diff options
| author | Jaehwang Jung <tomtomjhj@gmail.com> | 2025-07-27 04:58:51 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-26 12:58:51 -0700 |
| commit | b4ba27c238ec342bcb01fa59ab1eaf6996a4c6ee (patch) | |
| tree | 93ad3b2143189844e6eaf62c90bda5f3e9dccb2e /runtime/lua/vim | |
| parent | 8a7bfdc0792229e87fcaebdcf2e877fb91e2455c (diff) | |
| download | rneovim-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.lua | 4 |
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 |