return { { "conform.nvim", event = { "BufReadPre", "BufNewFile" }, for_cats = "core.general", after = function() local conform = require("conform") conform.setup({ format_after_save = { lsp_format = "fallback", quiet = true, }, formatters_by_ft = { lua = { "stylua" }, go = { "gofmt" }, rust = { "rustfmt" }, toml = { "tombi" }, java = { "google-java-format" }, cmake = { "cmake_format" }, typescript = { "prettierd" }, javascript = { "prettierd" }, c = { "clang-format" }, cpp = { "clang-format" }, python = { "ruff_fix", "ruff_organize_imports", "ruff_format" }, }, formatters = { ["google-java-format"] = { prepend_args = { "--aosp" }, }, ["clang-format"] = { prepend_args = { "-style={BasedOnStyle: LLVM, IndentWidth: 4, TabWidth: 4, UseTab: Never}" }, }, }, }) vim.keymap.set({ "n", "v" }, "lf", function() conform.format({ async = true }) end, { desc = "Language format", }) end, }, }