diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 91fbb0a..31acc17 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -137,18 +137,37 @@ return { require('conform').setup { formatters = { eslint_d = { + require_cwd = true, cwd = require('conform.util').root_file { '.eslintrc', '.eslintrc.js' }, }, + prettier = { + require_cwd = true, + cwd = require('conform.util').root_file { + '.prettierrc', + '.prettierrc.json', + '.prettierrc.yml', + '.prettierrc.yaml', + '.prettierrc.json5', + '.prettierrc.js', + '.prettierrc.cjs', + '.prettierrc.mjs', + '.prettierrc.toml', + 'prettier.config.js', + 'prettier.config.cjs', + 'prettier.config.mjs', + }, + }, }, formatters_by_ft = { lua = { 'stylua' }, - javascript = { { 'eslint_d', 'eslint', 'prettier' } }, - javascriptreact = { { 'eslint_d', 'eslint', 'prettier' } }, - json = { { 'eslint_d', 'eslint', 'prettier' } }, - typescript = { { 'eslint_d', 'eslint', 'prettier' } }, - typescriptreact = { { 'eslint_d', 'eslint', 'prettier' } }, + javascript = { 'eslint_d', 'prettier' }, + javascriptreact = { 'eslint_d', 'prettier' }, + json = { 'prettier' }, + typescript = { 'eslint_d', 'prettier' }, + typescriptreact = { 'eslint_d', 'prettier' }, ['_'] = { 'trim_whitespace' }, }, + stop_after_first = true, } vim.api.nvim_create_autocmd('BufWritePre', {