diff options
author | Steven Arcangeli <stevearc@stevearc.com> | 2023-09-15 07:21:42 -0700 |
---|---|---|
committer | Steven Arcangeli <stevearc@stevearc.com> | 2023-09-15 07:21:42 -0700 |
commit | 1a568c66f16650290fffcfbf5aefebe2d8254b83 (patch) | |
tree | 67ef209956908ebacb6f2e7c830a6317342910cf /lua/conform | |
parent | d3fe43167c7d96036c8c037ef1b4e03b448efbe7 (diff) |
feat: format_on_save functions can return a callback as the second value
Diffstat (limited to 'lua/conform')
-rw-r--r-- | lua/conform/init.lua | 22 |
1 files changed, 14 insertions, 8 deletions
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 |