neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 42f244bf18a135dcbc983f7e0e0387c43c4dc664
parent bccec33f5a011fac7f0a90260c72c2ac2f4c334f
Author: Yi Ming <ofseed@foxmail.com>
Date:   Mon, 25 Aug 2025 09:59:56 +0800

fix(lsp): check whether buffer is valid when scheduled #35461


Diffstat:
Mruntime/lua/vim/lsp/_folding_range.lua | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/runtime/lua/vim/lsp/_folding_range.lua b/runtime/lua/vim/lsp/_folding_range.lua @@ -265,7 +265,7 @@ end ---@param client_id integer function State:on_attach(client_id) - self.client_state = {} + self.client_state[client_id] = {} self:refresh(vim.lsp.get_client_by_id(client_id)) end @@ -344,7 +344,9 @@ function M.foldexpr(lnum) if not vim.lsp._capability.is_enabled('folding_range', { bufnr = bufnr }) then -- `foldexpr` lead to a textlock, so any further operations need to be scheduled. vim.schedule(function() - vim.lsp._capability.enable('folding_range', true, { bufnr = bufnr }) + if api.nvim_buf_is_valid(bufnr) then + vim.lsp._capability.enable('folding_range', true, { bufnr = bufnr }) + end end) end