From 1a568c66f16650290fffcfbf5aefebe2d8254b83 Mon Sep 17 00:00:00 2001 From: Steven Arcangeli Date: Fri, 15 Sep 2023 07:21:42 -0700 Subject: feat: format_on_save functions can return a callback as the second value --- lua/conform/init.lua | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'lua') diff --git a/lua/conform/init.lua b/lua/conform/init.lua index e2ba40a..ff30686 100644 --- a/lua/conform/init.lua +++ b/lua/conform/init.lua @@ -84,15 +84,18 @@ M.setup = function(opts) pattern = "*", group = aug, callback = function(args) - local format_args = opts.format_on_save + local format_args, callback = opts.format_on_save, nil if type(format_args) == "function" then - format_args = format_args(args.buf) + format_args, callback = format_args(args.buf) end if format_args then - M.format(vim.tbl_deep_extend("force", format_args, { - buf = args.buf, - async = false, - })) + M.format( + vim.tbl_deep_extend("force", format_args, { + buf = args.buf, + async = false, + }), + callback + ) end end, }) @@ -109,9 +112,9 @@ M.setup = function(opts) if vim.b[args.buf].conform_applying_formatting then return end - local format_args = opts.format_after_save + local format_args, callback = opts.format_after_save, nil if type(format_args) == "function" then - format_args = format_args(args.buf) + format_args, callback = format_args(args.buf) end if format_args then M.format( @@ -127,6 +130,9 @@ M.setup = function(opts) vim.b[args.buf].conform_applying_formatting = false end) end + if callback then + callback(err) + end end ) end -- cgit v1.2.3-70-g09d2