From d9768348649be83d72259ce29b7a99a83c5badee Mon Sep 17 00:00:00 2001 From: Sean Dewar <6256228+seandewar@users.noreply.github.com> Date: Thu, 8 May 2025 09:24:05 +0100 Subject: [PATCH] fix(lsp): nil error in ColorScheme autocmd Problem: nil error possible if a loaded buffer hasn't been drawn in a window: ```vim lua vim.lsp.document_color.is_enabled() -- Load module badd foo call bufload('foo') colo default ``` Solution: Skip _buf_refresh branch also if bufstates[bufnr] is nil. --- runtime/lua/vim/lsp/document_color.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/lua/vim/lsp/document_color.lua b/runtime/lua/vim/lsp/document_color.lua index c2b1f3c424..ace61d0030 100644 --- a/runtime/lua/vim/lsp/document_color.lua +++ b/runtime/lua/vim/lsp/document_color.lua @@ -303,7 +303,7 @@ api.nvim_create_autocmd('ColorScheme', { for _, bufnr in ipairs(api.nvim_list_bufs()) do buf_clear(bufnr) - if api.nvim_buf_is_loaded(bufnr) and bufstates[bufnr].enabled then + if api.nvim_buf_is_loaded(bufnr) and vim.tbl_get(bufstates, bufnr, 'enabled') then M._buf_refresh(bufnr) else reset_bufstate(bufnr, false)