kickstart.nvim/lua/custom/plugins/formatting.lua

39 lines
1010 B
Lua

return {
'stevearc/conform.nvim',
event = { 'BufReadPre', 'BufNewFile' },
config = function()
local conform = require 'conform'
conform.setup {
formatters_by_ft = {
javascript = { 'prettier' },
typescript = { 'prettier' },
javascriptreact = { 'prettier' },
typescriptreact = { 'prettier' },
svelte = { 'prettier' },
css = { 'prettier' },
html = { 'prettier' },
json = { 'prettier' },
yaml = { 'prettier' },
markdown = { 'prettier' },
graphql = { 'prettier' },
lua = { 'stylua' },
python = { 'isort', 'black', 'ruff' },
},
format_on_save = {
lsp_fallback = true,
async = false,
timeout_ms = 500,
},
}
vim.keymap.set({ 'n', 'v' }, '<leader>mp', function()
conform.format {
lsp_fallback = true,
async = false,
timeout_ms = 1000,
}
end, { desc = 'Format file or range (in visual mode)' })
end,
}