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

42 lines
1.0 KiB
Lua

return {
'stevearc/conform.nvim',
event = { 'BufReadPre', 'BufNewFile' },
keys = {
{
'<leader>tf',
function()
vim.g.disable_autoformat = not vim.g.disable_autoformat
end,
mode = '',
desc = 'Toggle Format On Save',
},
},
config = function()
local conform = require 'conform'
conform.setup {
formatters_by_ft = {
javascript = { 'eslint_d' },
typescript = { 'eslint_d' },
javascriptreact = { 'eslint_d' },
typescriptreact = { 'eslint_d' },
svelte = { 'prettier' },
css = { 'prettier' },
html = { 'prettier' },
json = { 'prettier' },
yaml = { 'prettier' },
markdown = { 'prettier' },
graphql = { 'prettier' },
liquid = { 'prettier' },
lua = { 'stylua' },
},
format_on_save = function(bufnr)
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
return
end
return { timeout_ms = 1000, lsp_format = 'fallback' }
end,
}
end,
}