fix(compiler): replace BufWipeout with BufUnload
Problem: cleanup autocmds used BufWipeout, which only fires for :bwipeout. The common :bdelete path (used by most buffer managers and nvim_buf_delete) fires BufUnload but not BufWipeout, so processes and watches leaked on normal buffer deletion. Solution: switch all three cleanup autocmds from BufWipeout to BufUnload, which fires for both :bdelete and :bwipeout.
This commit is contained in:
parent
9d4f2e77cc
commit
b1fe5597c6
1 changed files with 3 additions and 3 deletions
|
|
@ -170,7 +170,7 @@ function M.compile(bufnr, name, provider, ctx, opts)
|
|||
|
||||
active[bufnr] = { obj = obj, provider = name, output_file = output_file, is_reload = true }
|
||||
|
||||
vim.api.nvim_create_autocmd('BufWipeout', {
|
||||
vim.api.nvim_create_autocmd('BufUnload', {
|
||||
buffer = bufnr,
|
||||
once = true,
|
||||
callback = function()
|
||||
|
|
@ -279,7 +279,7 @@ function M.compile(bufnr, name, provider, ctx, opts)
|
|||
|
||||
active[bufnr] = { obj = obj, provider = name, output_file = output_file }
|
||||
|
||||
vim.api.nvim_create_autocmd('BufWipeout', {
|
||||
vim.api.nvim_create_autocmd('BufUnload', {
|
||||
buffer = bufnr,
|
||||
once = true,
|
||||
callback = function()
|
||||
|
|
@ -374,7 +374,7 @@ function M.toggle(bufnr, name, provider, ctx_builder)
|
|||
log.dbg('watching buffer %d with provider "%s"', bufnr, name)
|
||||
vim.notify('[preview.nvim]: watching with "' .. name .. '"', vim.log.levels.INFO)
|
||||
|
||||
vim.api.nvim_create_autocmd('BufWipeout', {
|
||||
vim.api.nvim_create_autocmd('BufUnload', {
|
||||
buffer = bufnr,
|
||||
once = true,
|
||||
callback = function()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue