1-- Automatically decrypt and encrypt Ansible Vault files
 2local encrypted_buffers = {}
 3vim.api.nvim_create_autocmd("BufWinEnter", {
 4	pattern = "*",
 5	-- pattern = "*.vault.*"
 6	callback = function(_)
 7		local first_line = vim.api.nvim_buf_get_lines(0, 0, -1, true)
 8		if first_line[1]:find("$ANSIBLE_VAULT") then
 9			encrypted_buffers[vim.api.nvim_get_current_buf()] = true
10			vim.api.nvim_command("silent%!ansible-vault decrypt --output -")
11		end
12	end,
13})
14vim.api.nvim_create_autocmd("BufWinLeave", {
15	pattern = "*",
16	-- pattern = "*.vault.*"
17	callback = function(_)
18		if encrypted_buffers[vim.api.nvim_get_current_buf()] then
19			encrypted_buffers[vim.api.nvim_get_current_buf()] = nil
20			vim.api.nvim_command("%!ansible-vault encrypt --output -")
21		end
22	end,
23})