diff --git a/lua/oil/mutator/init.lua b/lua/oil/mutator/init.lua index 5a36a63..4170398 100644 --- a/lua/oil/mutator/init.lua +++ b/lua/oil/mutator/init.lua @@ -510,6 +510,10 @@ M.is_mutating = function() return mutation_in_progress end +M.reset = function() + mutation_in_progress = false +end + ---@param confirm nil|boolean ---@param cb? fun(err: nil|string) M.try_write_changes = function(confirm, cb) diff --git a/spec/test_util.lua b/spec/test_util.lua index 57f81b1..f5dd94a 100644 --- a/spec/test_util.lua +++ b/spec/test_util.lua @@ -17,6 +17,14 @@ M.reset_editor = function() for _, bufnr in ipairs(vim.api.nvim_list_bufs()) do vim.api.nvim_buf_delete(bufnr, { force = true }) end + local mutator = require('oil.mutator') + if mutator.is_mutating() then + vim.wait(50, function() + return not mutator.is_mutating() + end, 10) + mutator.reset() + require('oil.view').unlock_buffers() + end cache.clear_everything() test_adapter.test_clear() end