return { 'stevearc/conform.nvim', event = { 'BufReadPre', 'BufNewFile' }, keys = { { '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, }