aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/highlight.lua
diff options
context:
space:
mode:
authornotomo <notomo.motono@gmail.com>2021-08-26 23:37:36 +0900
committerSean Dewar <seandewar@users.noreply.github.com>2021-09-16 14:46:27 +0100
commitf7002337c02a3a6b73b7d1409186c864b129413d (patch)
tree936de547a57fae1278e83adba5d87367a813162e /runtime/lua/vim/highlight.lua
parent6bda2f56eb01b9a9ee3c0d25cb607d03dd64b91a (diff)
downloadrneovim-f7002337c02a3a6b73b7d1409186c864b129413d.tar.gz
rneovim-f7002337c02a3a6b73b7d1409186c864b129413d.tar.bz2
rneovim-f7002337c02a3a6b73b7d1409186c864b129413d.zip
backport: fix(lua): verify buffer in highlight.on_yank (#15482)
Resolve an issue with deferred clearing of highlight failing if the buffer is deleted before the timeout by checking whether the buffer is valid first.
Diffstat (limited to 'runtime/lua/vim/highlight.lua')
-rw-r--r--runtime/lua/vim/highlight.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/lua/vim/highlight.lua b/runtime/lua/vim/highlight.lua
index 0012dce081..ef44383f59 100644
--- a/runtime/lua/vim/highlight.lua
+++ b/runtime/lua/vim/highlight.lua
@@ -85,7 +85,11 @@ function highlight.on_yank(opts)
highlight.range(bufnr, yank_ns, higroup, pos1, pos2, event.regtype, event.inclusive)
vim.defer_fn(
- function() api.nvim_buf_clear_namespace(bufnr, yank_ns, 0, -1) end,
+ function()
+ if api.nvim_buf_is_valid(bufnr) then
+ api.nvim_buf_clear_namespace(bufnr, yank_ns, 0, -1)
+ end
+ end,
timeout
)
end