From 244f018746690a05b0ee325dfa55b2b616134aae Mon Sep 17 00:00:00 2001 From: August Masquelier Date: Wed, 13 Oct 2021 18:56:11 -0600 Subject: [PATCH] fix(trailspace): Use 'default' for highlight group, wrap 'matchdelete' with 'pcall' to avoid errors --- lua/mini/trailspace.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lua/mini/trailspace.lua b/lua/mini/trailspace.lua index f02075e8f..ec1eaf614 100644 --- a/lua/mini/trailspace.lua +++ b/lua/mini/trailspace.lua @@ -63,7 +63,7 @@ function MiniTrailspace.setup(config) ) -- Create highlighting - vim.api.nvim_exec([[hi link MiniTrailspace Error]], false) + vim.api.nvim_exec([[hi default link MiniTrailspace Error]], false) end -- Module config @@ -86,21 +86,27 @@ function MiniTrailspace.highlight(check_modifiable) return end - local win_id = vim.fn.win_getid() - local win_match = H.window_matches[win_id] + local win_id = vim.api.nvim_get_current_win() + if not vim.api.nvim_win_is_valid(win_id) then + return + end -- Don't add match id on top of existing one - if win_match == nil then + if H.window_matches[win_id] == nil then H.window_matches[win_id] = vim.fn.matchadd('MiniTrailspace', [[\s\+$]]) end end --- Unhighlight trailing whitespace function MiniTrailspace.unhighlight() - local win_id = vim.fn.win_getid() + local win_id = vim.api.nvim_get_current_win() + if not vim.api.nvim_win_is_valid(win_id) then + return + end + local win_match = H.window_matches[win_id] if win_match ~= nil then - vim.fn.matchdelete(win_match) + pcall(vim.fn.matchdelete, win_match) H.window_matches[win_id] = nil end end