31 lines
		
	
	
	
		
			997 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			997 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| return {
 | |
|   "Pocco81/auto-save.nvim",
 | |
|   event = { "InsertLeave", "TextChanged" },
 | |
|   opts = {
 | |
|     debounce_delay = 1000,
 | |
|     callbacks = {
 | |
|       before_saving = function()
 | |
|         -- save global autoformat status
 | |
|         vim.g.OLD_AUTOFORMAT = vim.g.autoformat_enabled
 | |
| 
 | |
|         vim.g.autoformat_enabled = false
 | |
|         vim.g.OLD_AUTOFORMAT_BUFFERS = {}
 | |
|         -- disable all manually enabled buffers
 | |
|         for _, bufnr in ipairs(vim.api.nvim_list_bufs()) do
 | |
|           if vim.b[bufnr].autoformat_enabled then
 | |
|             table.insert(vim.g.OLD_BUFFER_AUTOFORMATS, bufnr)
 | |
|             vim.b[bufnr].autoformat_enabled = false
 | |
|           end
 | |
|         end
 | |
|       end,
 | |
|       after_saving = function()
 | |
|         -- restore global autoformat status
 | |
|         vim.g.autoformat_enabled = vim.g.OLD_AUTOFORMAT
 | |
|         -- reenable all manually enabled buffers
 | |
|         for _, bufnr in ipairs(vim.g.OLD_AUTOFORMAT_BUFFERS or {}) do
 | |
|           vim.b[bufnr].autoformat_enabled = true
 | |
|         end
 | |
|       end,
 | |
|     },
 | |
|   },
 | |
| }
 | 
