mirror of
https://github.com/neovim/neovim.git
synced 2026-01-06 19:39:53 +10:00
fix(decor): enable decoration provider in on_start #33337
Problem: An on_win-disabled decoration provider is left disabled for
the on_buf callback during the next redraw (if the provider
does not subscribe to on_end).
Solution: Move re-activation of the provider from after the on_end
callback to before the on_start callback.
This commit is contained in:
@@ -838,6 +838,26 @@ describe('decorations providers', function()
|
||||
|
|
||||
]])
|
||||
end)
|
||||
|
||||
it('decor provider is enabled again for next redraw after on_win disabled it', function()
|
||||
exec_lua(function()
|
||||
vim.api.nvim_set_decoration_provider(vim.api.nvim_create_namespace(''), {
|
||||
on_win = function()
|
||||
return false
|
||||
end,
|
||||
on_buf = function()
|
||||
_G.did_buf = (_G.did_buf or 0) + 1
|
||||
end,
|
||||
})
|
||||
end)
|
||||
api.nvim_buf_set_lines(0, 0, -1, false, { 'foo' })
|
||||
screen:expect([[
|
||||
^foo |
|
||||
{1:~ }|*6
|
||||
|
|
||||
]])
|
||||
eq(1, exec_lua('return _G.did_buf'))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('decoration_providers', function()
|
||||
|
||||
Reference in New Issue
Block a user