1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
return {
"stevearc/conform.nvim",
event = { "BufReadPre", "BufNewFile" },
keys = {
{
"<leader>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
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",
},
},
config = function(_, opts)
require("conform").setup(opts)
end,
}
|