mirror of https://github.com/LazyVim/starter
73 lines
2.1 KiB
Lua
73 lines
2.1 KiB
Lua
return {
|
|
{
|
|
"stevearc/conform.nvim",
|
|
event = { "BufWritePre" },
|
|
cmd = { "ConformInfo" },
|
|
opts = {
|
|
-- format_on_save = {
|
|
-- timeout_ms = 500,
|
|
-- lsp_fallback = true,
|
|
-- },
|
|
formatters_by_ft = {
|
|
nix = { "nixpkgs-fmt" },
|
|
lua = { "stylua" },
|
|
javascript = { { "prettierd" } },
|
|
javascriptreact = { { "prettierd" } },
|
|
typescript = { { "prettierd" } },
|
|
typescriptreact = { { "prettierd" } },
|
|
json = { "prettierd" },
|
|
jsonc = { "prettierd" },
|
|
yaml = { "prettierd" },
|
|
markdown = { "prettierd" },
|
|
["markdown.mdx"] = { "prettierd" },
|
|
css = { "prettierd" },
|
|
scss = { "prettierd" },
|
|
html = { "prettierd" },
|
|
},
|
|
-- Configure formatters
|
|
formatters = {
|
|
eslint_d = {
|
|
-- Only run eslint if we find a config file in the project
|
|
condition = function(ctx)
|
|
return vim.fs.find({
|
|
".eslintrc.js",
|
|
".eslintrc.cjs",
|
|
".eslintrc.yaml",
|
|
".eslintrc.yml",
|
|
".eslintrc.json",
|
|
"eslint.config.js",
|
|
"package.json",
|
|
}, { path = ctx.filename, upward = true })[1] ~= nil
|
|
end,
|
|
},
|
|
["nixpkgs-fmt"] = {
|
|
command = "nixpkgs-fmt",
|
|
stdin = true,
|
|
},
|
|
prettierd = {
|
|
-- This tells conform to only run prettier when it finds a config file
|
|
condition = function(ctx)
|
|
return vim.fs.find({
|
|
".prettierrc",
|
|
".prettierrc.js",
|
|
".prettierrc.json",
|
|
".prettierrc.yml",
|
|
".prettierrc.yaml",
|
|
".prettierrc.json5",
|
|
".prettierrc.cjs",
|
|
"prettier.config.js",
|
|
"prettier.config.cjs",
|
|
"prettier.config.mjs",
|
|
"package.json",
|
|
}, { path = ctx.filename, upward = true })[1] ~= nil
|
|
end,
|
|
},
|
|
stylua = {
|
|
command = "stylua",
|
|
args = { "--search-parent-directories", "--stdin-filepath", "$FILENAME", "-" },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|