nvim/lua/plugins/format.lua
2025-03-20 14:15:45 -03:00

51 lines
1.4 KiB
Lua

return {
"stevearc/conform.nvim",
event = {
"BufReadPre",
"BufNewFile",
},
config = function()
require("conform").setup({
formatters_by_ft = {
graphql = { "prettierd", "prettier" },
njk = { "prettierd", "prettier" },
svelte = { lsp_format = "fallback" },
html = { "prettierd", "prettier" },
typescript = { "prettierd", "prettier" },
lua = { "stylua" },
javascript = { "prettierd", "prettier", stop_after_first = true },
json = { "prettierd", "prettier" },
sh = { "shfmt" },
bash = { "shfmt" },
tex = { "latexindent" },
go = { "gofumpt", "goimports-reviser", "golines" },
cs = { "csharpier" },
templ = { "templ" },
c = { "clang-format" },
cpp = { "clang-format" },
hcl = { "hcl" },
toml = { "taplo" },
htmlhugo = { "prettier" },
markdown = { "prettier" },
},
formatters = {
csharpier = {
command = "dotnet-csharpier",
args = { "--write-stdout" },
},
},
format_on_save = {
timeout_ms = 500,
lsp_fallback = true,
async = false,
},
notify_on_error = false,
})
vim.api.nvim_set_keymap(
"n",
"<leader>cf",
'<cmd>lua require("conform").format()<CR>',
{ noremap = true, silent = true }
)
end,
}