42 lines
1.0 KiB
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,
|
|
}
|