aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/autoformat_doc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/autoformat_doc.lua')
-rw-r--r--scripts/autoformat_doc.lua32
1 files changed, 21 insertions, 11 deletions
diff --git a/scripts/autoformat_doc.lua b/scripts/autoformat_doc.lua
index 31cbec7..4880310 100644
--- a/scripts/autoformat_doc.lua
+++ b/scripts/autoformat_doc.lua
@@ -20,16 +20,26 @@ vim.api.nvim_create_autocmd("BufWritePre", {
end,
})
--- Format asynchronously on save
-vim.api.nvim_create_autocmd("BufWritePost", {
- pattern = "*",
- callback = function(args)
- require("conform").format({ async = true, lsp_fallback = true, bufnr = args.buf }, function(err)
- if not err then
- vim.api.nvim_buf_call(args.buf, function()
- vim.cmd.update()
- end)
- end
- end)
+-- To eliminate the boilerplate, you can pass a function to format_on_save
+-- and it will be called during the BufWritePre callback.
+require("conform").setup({
+ format_on_save = function(bufnr)
+ if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
+ return
+ end
+ -- ...additional logic...
+ return { timeout_ms = 500, lsp_fallback = true }
+ end,
+})
+
+-- There is a similar affordance for format_after_save, which uses BufWritePost.
+-- This is good for formatters that are too slow to run synchronously.
+require("conform").setup({
+ format_after_save = function(bufnr)
+ if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
+ return
+ end
+ -- ...additional logic...
+ return { lsp_fallback = true }
end,
})