From 3d87ed8892f98493251868dcf63b061835f1a966 Mon Sep 17 00:00:00 2001 From: Christian Nieves Date: Mon, 8 Jan 2024 17:07:32 +0000 Subject: [PATCH] add fmt enable/disable cmds --- vim/.vim/lua/plugins/conform.lua | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/vim/.vim/lua/plugins/conform.lua b/vim/.vim/lua/plugins/conform.lua index e71c4da..971f668 100644 --- a/vim/.vim/lua/plugins/conform.lua +++ b/vim/.vim/lua/plugins/conform.lua @@ -1,3 +1,21 @@ +vim.api.nvim_create_user_command("FormatDisable", function(args) + if args.bang then + -- FormatDisable! will disable formatting just for this buffer + vim.b.disable_autoformat = true + else + vim.g.disable_autoformat = true + end +end, { + desc = "Disable autoformat-on-save", + bang = true, +}) +vim.api.nvim_create_user_command("FormatEnable", function() + vim.b.disable_autoformat = false + vim.g.disable_autoformat = false +end, { + desc = "Re-enable autoformat-on-save", +}) + return { { "stevearc/conform.nvim", @@ -32,11 +50,13 @@ return { -- have other formatters configured. ["_"] = { "trim_whitespace" }, }, - format_on_save = { - -- These options will be passed to conform.format() - timeout_ms = 500, - lsp_fallback = true, - }, + format_on_save = function(bufnr) + -- Disable with a global or buffer-local variable + if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then + return + end + return { timeout_ms = 500, lsp_fallback = true } + end, formatters = { gdformat = { prepend_args = { "-l", "100" },