fix: restore modified state of current buffer if actions are canceled (#6)

This commit is contained in:
Steven Arcangeli 2023-01-03 21:48:49 -08:00
parent e58f347c67
commit 2e6d68453f

View file

@ -433,6 +433,8 @@ end
---@param confirm nil|boolean
M.try_write_changes = function(confirm)
local current_buf = vim.api.nvim_get_current_buf()
local was_modified = vim.bo.modified
local buffers = view.get_all_buffers()
local all_diffs = {}
local all_errors = {}
@ -454,6 +456,10 @@ M.try_write_changes = function(confirm)
for _, bufnr in ipairs(buffers) do
pcall(vim.api.nvim_buf_set_option, bufnr, "modifiable", was_modifiable[bufnr])
end
-- The ":write" will set nomodified even if we cancel here, so we need to restore it
if was_modified then
vim.bo[current_buf].modified = true
end
end
local ns = vim.api.nvim_create_namespace("Oil")