diff options
| author | l3wdfut4pwr <l3wdfut4pwr@gmail.com> | 2026-06-14 19:29:33 +0300 |
|---|---|---|
| committer | l3wdfut4pwr <l3wdfut4pwr@gmail.com> | 2026-06-14 19:29:33 +0300 |
| commit | 56082af20a8712570edd6ed523baad4755ecd241 (patch) | |
| tree | 2366ad69de817a80403cdcbe5cdd48ad90106bd6 /config/nvim/lua/plugins/renderer-markdown.lua | |
init
Diffstat (limited to 'config/nvim/lua/plugins/renderer-markdown.lua')
| -rw-r--r-- | config/nvim/lua/plugins/renderer-markdown.lua | 402 |
1 files changed, 402 insertions, 0 deletions
diff --git a/config/nvim/lua/plugins/renderer-markdown.lua b/config/nvim/lua/plugins/renderer-markdown.lua new file mode 100644 index 000000000..160556a35 --- /dev/null +++ b/config/nvim/lua/plugins/renderer-markdown.lua @@ -0,0 +1,402 @@ +return { + { + "MeanderingProgrammer/render-markdown.nvim", + ft = { "markdown" }, + cmd = { "RenderMarkdown" }, + dependencies = { + "nvim-treesitter/nvim-treesitter", + "nvim-mini/mini.nvim", + }, + opts = { + file_types = { "markdown" }, + + sign = { + enabled = true, + priority = nil, + highlight = "RenderMarkdownSign", + }, + + heading = { + enabled = true, + render_modes = false, + atx = true, + setext = true, + sign = true, + icons = { " ", " ", " ", " ", " ", " " }, + position = "overlay", + signs = { " " }, + width = "full", + left_margin = 0, + left_pad = 0, + right_pad = 0, + min_width = 0, + border = true, + border_virtual = true, + border_prefix = false, + above = "▄", + below = "▀", + backgrounds = { + "RenderMarkdownH1Bg", + "RenderMarkdownH2Bg", + "RenderMarkdownH3Bg", + "RenderMarkdownH4Bg", + "RenderMarkdownH5Bg", + "RenderMarkdownH6Bg", + }, + foregrounds = { + "RenderMarkdownH1", + "RenderMarkdownH2", + "RenderMarkdownH3", + "RenderMarkdownH4", + "RenderMarkdownH5", + "RenderMarkdownH6", + }, + custom = {}, + }, + + code = { + enabled = true, + render_modes = false, + sign = true, + conceal_delimiters = true, + language = true, + position = "left", + language_icon = true, + language_name = true, + language_info = true, + language_pad = 2, + disable = {}, + disable_background = { "diff" }, + width = "block", + left_margin = 0, + left_pad = 2, + right_pad = 4, + min_width = 45, + border = "thick", + language_border = " ", + language_left = "", + language_right = "", + above = "▄", + below = "▀", + inline = true, + inline_left = "", + inline_right = "", + inline_pad = 0, + priority = 140, + highlight = "RenderMarkdownCode", + highlight_info = "RenderMarkdownCodeInfo", + highlight_language = nil, + highlight_border = "RenderMarkdownCodeBorder", + highlight_fallback = "RenderMarkdownCodeFallback", + highlight_inline = "RenderMarkdownCodeInline", + highlight_inline_left = nil, + highlight_inline_right = nil, + style = "language", + }, + + dash = { + enabled = true, + render_modes = false, + icon = "─", + width = "full", + left_margin = 0, + priority = nil, + highlight = "RenderMarkdownDash", + }, + + bullet = { + enabled = true, + render_modes = false, + icons = { "●", "○", "◆", "◇" }, + ordered_icons = function(ctx) + local value = vim.trim(ctx.value) + local index = tonumber(value:sub(1, #value - 1)) + return ("%d."):format(index > 1 and index or ctx.index) + end, + left_pad = 0, + right_pad = 0, + highlight = "RenderMarkdownBullet", + }, + + checkbox = { + enabled = true, + render_modes = false, + bullet = false, + left_pad = 0, + right_pad = 1, + unchecked = { + icon = " ", + highlight = "RenderMarkdownUnchecked", + scope_highlight = nil, + }, + checked = { + icon = " ", + highlight = "RenderMarkdownChecked", + scope_highlight = nil, + }, + }, + + quote = { + enabled = true, + render_modes = false, + icon = "▋", + repeat_linebreak = true, + highlight = { + "RenderMarkdownQuote1", + "RenderMarkdownQuote2", + "RenderMarkdownQuote3", + "RenderMarkdownQuote4", + "RenderMarkdownQuote5", + "RenderMarkdownQuote6", + }, + }, + + pipe_table = { + enabled = true, + render_modes = false, + preset = "round", + cell = "padded", + cell_offset = function() + return 0 + end, + padding = 1, + min_width = 12, + border = { + "┌", + "┬", + "┐", + "├", + "┼", + "┤", + "└", + "┴", + "┘", + "│", + "─", + }, + border_enabled = true, + alignment_indicator = "┅", + }, + + callout = { + note = { + raw = "[!NOTE]", + rendered = " Note", + highlight = "RenderMarkdownInfo", + category = "github", + }, + tip = { + raw = "[!TIP]", + rendered = " Tip", + highlight = "RenderMarkdownSuccess", + category = "github", + }, + important = { + raw = "[!IMPORTANT]", + rendered = " Important", + highlight = "RenderMarkdownHint", + category = "github", + }, + warning = { + raw = "[!WARNING]", + rendered = " Warning", + highlight = "RenderMarkdownWarn", + category = "github", + }, + caution = { + raw = "[!CAUTION]", + rendered = " Caution", + highlight = "RenderMarkdownError", + category = "github", + }, + + abstract = { + raw = "[!ABSTRACT]", + rendered = " Abstract", + highlight = "RenderMarkdownInfo", + category = "obsidian", + }, + summary = { + raw = "[!SUMMARY]", + rendered = " Summary", + highlight = "RenderMarkdownInfo", + category = "obsidian", + }, + tldr = { + raw = "[!TLDR]", + rendered = " Tldr", + highlight = "RenderMarkdownInfo", + category = "obsidian", + }, + info = { + raw = "[!INFO]", + rendered = " Info", + highlight = "RenderMarkdownInfo", + category = "obsidian", + }, + todo = { + raw = "[!TODO]", + rendered = " Todo", + highlight = "RenderMarkdownInfo", + category = "obsidian", + }, + hint = { + raw = "[!HINT]", + rendered = " Hint", + highlight = "RenderMarkdownSuccess", + category = "obsidian", + }, + success = { + raw = "[!SUCCESS]", + rendered = " Success", + highlight = "RenderMarkdownSuccess", + category = "obsidian", + }, + check = { + raw = "[!CHECK]", + rendered = " Check", + highlight = "RenderMarkdownSuccess", + category = "obsidian", + }, + done = { + raw = "[!DONE]", + rendered = " Done", + highlight = "RenderMarkdownSuccess", + category = "obsidian", + }, + question = { + raw = "[!QUESTION]", + rendered = " Question", + highlight = "RenderMarkdownWarn", + category = "obsidian", + }, + help = { + raw = "[!HELP]", + rendered = " Help", + highlight = "RenderMarkdownWarn", + category = "obsidian", + }, + faq = { + raw = "[!FAQ]", + rendered = " Faq", + highlight = "RenderMarkdownWarn", + category = "obsidian", + }, + attention = { + raw = "[!ATTENTION]", + rendered = " Attention", + highlight = "RenderMarkdownWarn", + category = "obsidian", + }, + failure = { + raw = "[!FAILURE]", + rendered = " Failure", + highlight = "RenderMarkdownError", + category = "obsidian", + }, + fail = { + raw = "[!FAIL]", + rendered = " Fail", + highlight = "RenderMarkdownError", + category = "obsidian", + }, + missing = { + raw = "[!MISSING]", + rendered = " Missing", + highlight = "RenderMarkdownError", + category = "obsidian", + }, + danger = { + raw = "[!DANGER]", + rendered = " Danger", + highlight = "RenderMarkdownError", + category = "obsidian", + }, + error = { + raw = "[!ERROR]", + rendered = " Error", + highlight = "RenderMarkdownError", + category = "obsidian", + }, + bug = { + raw = "[!BUG]", + rendered = " Bug", + highlight = "RenderMarkdownError", + category = "obsidian", + }, + example = { + raw = "[!EXAMPLE]", + rendered = " Example", + highlight = "RenderMarkdownHint", + category = "obsidian", + }, + quote = { + raw = "[!QUOTE]", + rendered = " Quote", + highlight = "RenderMarkdownQuote", + category = "obsidian", + }, + cite = { + raw = "[!CITE]", + rendered = " Cite", + highlight = "RenderMarkdownQuote", + category = "obsidian", + }, + }, + + link = { + enabled = true, + render_modes = false, + footnote = { + enabled = true, + icon = " ", + body = function(ctx) + return ctx.text + end, + superscript = true, + prefix = "", + suffix = "", + }, + image = " ", + image_custom = true, + email = " ", + hyperlink = " ", + highlight = "RenderMarkdownLink", + highlight_title = "RenderMarkdownLinkTitle", + wiki = { + enabled = true, + icon = " ", + body = function() + return nil + end, + highlight = "RenderMarkdownWikiLink", + scope_highlight = nil, + }, + custom = { + web = { pattern = "^http", icon = " " }, + github = { pattern = "github%.com", icon = " " }, + python = { pattern = "%.py$", icon = " " }, + }, + }, + + indent = { + enabled = true, + render_modes = false, + per_level = 2, + skip_level = 1, + skip_heading = false, + icon = "▎", + priority = 0, + highlight = "RenderMarkdownIndent", + }, + + paragraph = { + enabled = true, + render_modes = false, + left_margin = 0, + indent = 0, + min_width = 0, + }, + }, + }, +} |
