summaryrefslogtreecommitdiff
path: root/config/nvim/lua/plugins/renderer-markdown.lua
diff options
context:
space:
mode:
Diffstat (limited to 'config/nvim/lua/plugins/renderer-markdown.lua')
-rw-r--r--config/nvim/lua/plugins/renderer-markdown.lua402
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,
+ },
+ },
+ },
+}