dotfiles/.config/nvim/lua/plugins/conform.lua

38 lines
1.1 KiB
Lua

return {
{
"stevearc/conform.nvim",
optional = true,
opts = {
formatters = {
["markdown-toc"] = {
condition = function(_, ctx)
for _, line in ipairs(vim.api.nvim_buf_get_lines(ctx.buf, 0, -1, false)) do
if line:find("<!%-%- toc %-%->") then
return true
end
end
end,
},
["markdownlint-cli2"] = {
condition = function(_, ctx)
local diag = vim.tbl_filter(function(d)
return d.source == "markdownlint"
end, vim.diagnostic.get(ctx.buf))
return #diag > 0
end,
},
prettier = {
prepend_args = { "--prose-wrap", "always" },
},
},
formatters_by_ft = {
["markdown"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
["markdown.mdx"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
},
},
},
{
"williamboman/mason.nvim",
opts = { ensure_installed = { "markdownlint-cli2", "markdown-toc" } },
},
}