36 lines
1.1 KiB
Lua
36 lines
1.1 KiB
Lua
require('conform').setup {
|
|
formatters_by_ft = {
|
|
lua = { 'stylua' },
|
|
-- Conform will run multiple formatters sequentially
|
|
python = { 'isort', 'black' },
|
|
-- Use a sub-list to run only the first available formatter
|
|
javascript = { { 'prettierd', 'prettier' } },
|
|
javascriptreact = { { 'prettier' } },
|
|
typescriptreact = { { 'prettier' } },
|
|
typescript = { { 'prettier' } },
|
|
xml = { 'prettier', 'xmlformat' },
|
|
html = { { 'prettier' } },
|
|
go = { { 'gofumpt', 'goimports-reviser', 'golines' } },
|
|
java = { 'google-java-format' },
|
|
templ = { 'templ' },
|
|
},
|
|
format_on_save = {
|
|
-- I recommend these options. See :help conform.format for details.
|
|
lsp_fallback = true,
|
|
timeout_ms = 500,
|
|
},
|
|
-- If this is set, Conform will run the formatter asynchronously after save.
|
|
-- It will pass the table to conform.format().
|
|
-- This can also be a function that returns the table.
|
|
format_after_save = {
|
|
lsp_fallback = true,
|
|
},
|
|
}
|
|
|
|
vim.api.nvim_create_autocmd('BufWritePre', {
|
|
pattern = '*',
|
|
callback = function(args)
|
|
require('conform').format { bufnr = args.buf }
|
|
end,
|
|
})
|