diff --git a/lua/guard/events.lua b/lua/guard/events.lua index adf8388c..6f148f3d 100644 --- a/lua/guard/events.lua +++ b/lua/guard/events.lua @@ -8,7 +8,15 @@ local function watch_ft(fts) group = group, pattern = fts, callback = function(args) - format.attach_to_buf(args.buf) + if + #api.nvim_get_autocmds({ + group = group, + event = 'BufWritePre', + buffer = args.buf, + }) == 0 + then + format.attach_to_buf(args.buf) + end end, desc = 'guard', }) diff --git a/lua/guard/format.lua b/lua/guard/format.lua index 15b8b6da..ea414f58 100644 --- a/lua/guard/format.lua +++ b/lua/guard/format.lua @@ -211,11 +211,11 @@ local function attach_to_buf(buf) api.nvim_create_autocmd('BufWritePre', { group = require('guard.events').group, buffer = buf, - callback = function(opt) - if not vim.bo[opt.buf].modified then + callback = function() + if not vim.bo[buf].modified then return end - require('guard.format').do_fmt(opt.buf) + require('guard.format').do_fmt(buf) end, }) end