return { "stevearc/conform.nvim", opts = { formatters_by_ft = { javascript = { "prettier" }, typescript = { "prettier" }, javascriptreact = { "prettier" }, typescriptreact = { "prettier" }, css = { "prettier" }, html = { "prettier" }, json = { "prettier" }, yaml = { "prettier" }, markdown = { "prettier" }, graphql = { "prettier" }, lua = { "stylua" }, python = { "isort", "black" }, go = { "gofmt" }, templ = { "templ" }, }, format_on_save = { lsp_fallback = true, async = false, timeout_ms = 500, }, }, keys = { { "mp", function() require("conform").format({ lsp_fallback = true, async = false, timeout_ms = 500 }) end, desc = "Format file or range (in visual mode)", }, }, }