return { "stevearc/conform.nvim", event = { "BufReadPre", "BufNewFile" }, keys = { { "cf", function() require("conform").format({ async = true }) end, desc = "Format file", }, }, opts = { formatters_by_ft = { awk = { "gawk" }, -- pkg install gawk bash = { "shfmt" }, c = {}, -- clangd cpp = {}, -- clangd html = { "prettier" }, -- npm install -g prettier javascript = { "prettier" }, json = { "jq" }, -- brew install jq, pkg install jq lua = { "stylua" }, -- brew install stylua, pkg install stylua python = { "ruff_format" }, -- brew install ruff, pkg install ruff sh = { "shfmt" }, -- brew install, pkg install shfmt typescript = { "prettier" }, -- npm install -g prettier xml = { "xmllint" }, -- xmllint ist Teil von libxml2 xsd = { "xmllint" }, yaml = { "yamlfmt" }, -- brew install yamlfmt, pkg install yamlfmt }, default_format_opts = { lsp_format = "fallback", }, }, }