mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-12-25 12:14:19 +01:00
## Description
The `state` module in `render-markdown` is not expected to be accessed
outside of the package and may be refactored in the future.
Prevent any breaking changes in LazyVim by using the public API which
was updated here:
accaa600ba
## Related Issue(s)
None
## Screenshots
N/A
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
122 lines
2.8 KiB
Lua
122 lines
2.8 KiB
Lua
LazyVim.on_very_lazy(function()
|
|
vim.filetype.add({
|
|
extension = { mdx = "markdown.mdx" },
|
|
})
|
|
end)
|
|
return {
|
|
recommended = function()
|
|
return LazyVim.extras.wants({
|
|
ft = { "markdown", "markdown.mdx" },
|
|
root = "README.md",
|
|
})
|
|
end,
|
|
{
|
|
"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,
|
|
},
|
|
},
|
|
formatters_by_ft = {
|
|
["markdown"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
|
|
["markdown.mdx"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"mason-org/mason.nvim",
|
|
opts = { ensure_installed = { "markdownlint-cli2", "markdown-toc" } },
|
|
},
|
|
{
|
|
"nvimtools/none-ls.nvim",
|
|
optional = true,
|
|
opts = function(_, opts)
|
|
local nls = require("null-ls")
|
|
opts.sources = vim.list_extend(opts.sources or {}, {
|
|
nls.builtins.diagnostics.markdownlint_cli2,
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"mfussenegger/nvim-lint",
|
|
optional = true,
|
|
opts = {
|
|
linters_by_ft = {
|
|
markdown = { "markdownlint-cli2" },
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
opts = {
|
|
servers = {
|
|
marksman = {},
|
|
},
|
|
},
|
|
},
|
|
|
|
-- Markdown preview
|
|
{
|
|
"iamcco/markdown-preview.nvim",
|
|
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
|
build = function()
|
|
require("lazy").load({ plugins = { "markdown-preview.nvim" } })
|
|
vim.fn["mkdp#util#install"]()
|
|
end,
|
|
keys = {
|
|
{
|
|
"<leader>cp",
|
|
ft = "markdown",
|
|
"<cmd>MarkdownPreviewToggle<cr>",
|
|
desc = "Markdown Preview",
|
|
},
|
|
},
|
|
config = function()
|
|
vim.cmd([[do FileType]])
|
|
end,
|
|
},
|
|
|
|
{
|
|
"MeanderingProgrammer/render-markdown.nvim",
|
|
opts = {
|
|
code = {
|
|
sign = false,
|
|
width = "block",
|
|
right_pad = 1,
|
|
},
|
|
heading = {
|
|
sign = false,
|
|
icons = {},
|
|
},
|
|
checkbox = {
|
|
enabled = false,
|
|
},
|
|
},
|
|
ft = { "markdown", "norg", "rmd", "org", "codecompanion" },
|
|
config = function(_, opts)
|
|
require("render-markdown").setup(opts)
|
|
Snacks.toggle({
|
|
name = "Render Markdown",
|
|
get = require("render-markdown").get,
|
|
set = require("render-markdown").set,
|
|
}):map("<leader>um")
|
|
end,
|
|
},
|
|
}
|