Files
dotfiles/.config/nvim/lua/plugins/formatter.lua
Belal Elsabbagh dc3f2ada8f stuff
2025-02-12 12:13:08 +02:00

42 lines
1.0 KiB
Lua

return {
'stevearc/conform.nvim',
event = { 'BufWritePre' },
cmd = { 'ConformInfo' },
keys = {
{
'<leader>cf',
function()
require('conform').format { async = true, lsp_format = 'fallback' }
end,
mode = '',
desc = '[C]ode [F]ormat',
},
},
opts = {
notify_on_error = true,
format_on_save = {
-- These options will be passed to conform.format()
timeout_ms = 1000,
},
formatters_by_ft = {
lua = { 'stylua' },
go = { 'gofmt' },
python = { 'ruff' },
javascript = { 'biome', 'prettier', stop_after_first = true },
typescript = { 'biome', 'prettier', stop_after_first = true },
yaml = { 'prettier' },
rust = { 'rustfmt', lsp_format = 'fallback' },
json = { 'biome', 'prettier', stop_after_first = true },
vue = { 'biome', 'prettier' },
php = { 'pint', 'intelephense', stop_after_first = true },
},
formatters = {
intelephense = {
command = 'intelephense',
args = {},
},
},
},
}