fix: double callback in mutator
This commit is contained in:
parent
f28e63460a
commit
00465089cb
1 changed files with 15 additions and 5 deletions
|
|
@ -127,13 +127,17 @@ M.show = vim.schedule_wrap(function(actions, should_confirm, cb)
|
||||||
cancel = make_callback(false)
|
cancel = make_callback(false)
|
||||||
confirm = make_callback(true)
|
confirm = make_callback(true)
|
||||||
vim.api.nvim_create_autocmd("BufLeave", {
|
vim.api.nvim_create_autocmd("BufLeave", {
|
||||||
callback = cancel,
|
callback = function()
|
||||||
|
cancel()
|
||||||
|
end,
|
||||||
once = true,
|
once = true,
|
||||||
nested = true,
|
nested = true,
|
||||||
buffer = bufnr,
|
buffer = bufnr,
|
||||||
})
|
})
|
||||||
vim.api.nvim_create_autocmd("WinLeave", {
|
vim.api.nvim_create_autocmd("WinLeave", {
|
||||||
callback = cancel,
|
callback = function()
|
||||||
|
cancel()
|
||||||
|
end,
|
||||||
once = true,
|
once = true,
|
||||||
nested = true,
|
nested = true,
|
||||||
})
|
})
|
||||||
|
|
@ -157,10 +161,16 @@ M.show = vim.schedule_wrap(function(actions, should_confirm, cb)
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
for _, cancel_key in ipairs({ "q", "C", "c", "<C-c>", "<Esc>" }) do
|
for _, cancel_key in ipairs({ "q", "C", "c", "<C-c>", "<Esc>" }) do
|
||||||
vim.keymap.set("n", cancel_key, cancel, { buffer = bufnr, nowait = true })
|
vim.keymap.set("n", cancel_key, function()
|
||||||
|
cancel()
|
||||||
|
end, { buffer = bufnr, nowait = true })
|
||||||
end
|
end
|
||||||
vim.keymap.set("n", "O", confirm, { buffer = bufnr })
|
vim.keymap.set("n", "O", function()
|
||||||
vim.keymap.set("n", "o", confirm, { buffer = bufnr })
|
confirm()
|
||||||
|
end, { buffer = bufnr })
|
||||||
|
vim.keymap.set("n", "o", function()
|
||||||
|
confirm()
|
||||||
|
end, { buffer = bufnr })
|
||||||
end)
|
end)
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue