neovim-config/lua/plugins/formatter.lua

62 lines
1.2 KiB
Lua

local prettierd = function()
return {
exe = "prettierd",
args = {"'" .. vim.api.nvim_buf_get_name(0) .. "'"},
stdin = true
}
end
require("formatter").setup(
{
logging = false,
filetype = {
typescriptreact = {prettierd},
json = {prettierd},
css = {prettierd},
scss = {prettierd},
markdown = {prettierd},
typescript = {prettierd},
javascript = {prettierd},
javascriptreact = {prettierd},
lua = {
-- luafmt
function()
return {
exe = "luafmt",
args = {"--indent-count", 2, "--stdin"},
stdin = true
}
end
},
rust = {
function()
return {
exe = "rustfmt",
args = {"--emit=stdout"},
stdin = true
}
end
},
cpp = {
function()
return {
exe = "clang-format",
args = {"'" .. vim.api.nvim_buf_get_name(0) .. "'"},
stdin = true
}
end
}
}
}
)
vim.api.nvim_exec(
[[
augroup FormatAutogroup
autocmd!
autocmd BufWritePost *.h,*.cpp,*.rs,*.lua,*.tsx,*.ts,*.js,*.jsx,*.json FormatWrite
augroup END
]],
true
)