require('render-markdown').setup({ link = { -- Turn on / off inline link icon rendering. enabled = true, -- Additional modes to render links. render_modes = false, -- How to handle footnote links, start with a '^'. footnote = { -- Turn on / off footnote rendering. enabled = true, -- Replace value with superscript equivalent. superscript = true, -- Added before link content. prefix = '', -- Added after link content. suffix = '', }, -- Inlined with 'image' elements. image = '󰥶 ', -- Inlined with 'email_autolink' elements. email = '󰀓 ', -- Fallback icon for 'inline_link' and 'uri_autolink' elements. hyperlink = '󰌹 ', -- Applies to the inlined icon as a fallback. highlight = 'RenderMarkdownLink', -- Applies to WikiLink elements. wiki = { icon = '󱗖 ', body = function() return nil end, highlight = 'RenderMarkdownWikiLink', }, -- Define custom destination patterns so icons can quickly inform you of what a link -- contains. Applies to 'inline_link', 'uri_autolink', and wikilink nodes. When multiple -- patterns match a link the one with the longer pattern is used. -- The key is for healthcheck and to allow users to change its values, value type below. -- | pattern | matched against the destination text | -- | icon | gets inlined before the link text | -- | kind | optional determines how pattern is checked | -- | | pattern | @see :h lua-patterns, is the default if not set | -- | | suffix | @see :h vim.endswith() | -- | priority | optional used when multiple match, uses pattern length if empty | -- | highlight | optional highlight for 'icon', uses fallback highlight if empty | custom = { web = { pattern = '^http', icon = '󰖟 ' }, github = { pattern = 'github%.com', icon = '󰊤 ' }, gitlab = { pattern = 'gitlab%.com', icon = '󰮠 ' }, stackoverflow = { pattern = 'stackoverflow%.com', icon = '󰓌 ' }, wikipedia = { pattern = 'wikipedia%.org', icon = '󰖬 ' }, youtube = { pattern = 'youtube%.com', icon = '󰗃 ' }, }, }, callout = { -- Callouts are a special instance of a 'block_quote' that start with a 'shortcut_link'. -- The key is for healthcheck and to allow users to change its values, value type below. -- | raw | matched against the raw text of a 'shortcut_link', case insensitive | -- | rendered | replaces the 'raw' value when rendering | -- | highlight | highlight for the 'rendered' text and quote markers | -- | quote_icon | optional override for quote.icon value for individual callout | -- | category | optional metadata useful for filtering | note = { raw = '[!NOTE]', rendered = '󰋽 Note', highlight = 'RenderMarkdownInfo'}, tip = { raw = '[!TIP]', rendered = '󰌶 Tip', highlight = 'RenderMarkdownSuccess'}, important = { raw = '[!IMPORTANT]', rendered = '󰅾 Important', highlight = 'RenderMarkdownHint'}, warning = { raw = '[!WARNING]', rendered = '󰀪 Warning', highlight = 'RenderMarkdownWarn'}, caution = { raw = '[!CAUTION]', rendered = '󰳦 Caution', highlight = 'RenderMarkdownError'}, abstract = { raw = '[!ABSTRACT]', rendered = '󰨸 Abstract', highlight = 'RenderMarkdownInfo'}, summary = { raw = '[!SUMMARY]', rendered = '󰨸 Summary', highlight = 'RenderMarkdownInfo'}, tldr = { raw = '[!TLDR]', rendered = '󰨸 Tldr', highlight = 'RenderMarkdownInfo'}, info = { raw = '[!INFO]', rendered = '󰋽 Info', highlight = 'RenderMarkdownInfo'}, todo = { raw = '[!TODO]', rendered = '󰗡 Todo', highlight = 'RenderMarkdownInfo'}, hint = { raw = '[!HINT]', rendered = '󰌶 Hint', highlight = 'RenderMarkdownSuccess'}, success = { raw = '[!SUCCESS]', rendered = '󰄬 Success', highlight = 'RenderMarkdownSuccess'}, check = { raw = '[!CHECK]', rendered = '󰄬 Check', highlight = 'RenderMarkdownSuccess'}, done = { raw = '[!DONE]', rendered = '󰄬 Done', highlight = 'RenderMarkdownSuccess'}, question = { raw = '[!QUESTION]', rendered = '󰘥 Question', highlight = 'RenderMarkdownWarn'}, help = { raw = '[!HELP]', rendered = '󰘥 Help', highlight = 'RenderMarkdownWarn'}, faq = { raw = '[!FAQ]', rendered = '󰘥 Faq', highlight = 'RenderMarkdownWarn'}, attention = { raw = '[!ATTENTION]', rendered = '󰀪 Attention', highlight = 'RenderMarkdownWarn'}, failure = { raw = '[!FAILURE]', rendered = '󰅖 Failure', highlight = 'RenderMarkdownError'}, fail = { raw = '[!FAIL]', rendered = '󰅖 Fail', highlight = 'RenderMarkdownError'}, missing = { raw = '[!MISSING]', rendered = '󰅖 Missing', highlight = 'RenderMarkdownError'}, danger = { raw = '[!DANGER]', rendered = '󱐌 Danger', highlight = 'RenderMarkdownError'}, error = { raw = '[!ERROR]', rendered = '󱐌 Error', highlight = 'RenderMarkdownError'}, bug = { raw = '[!BUG]', rendered = '󰨰 Bug', highlight = 'RenderMarkdownError'}, example = { raw = '[!EXAMPLE]', rendered = '󰉹 Example', highlight = 'RenderMarkdownHint' }, quote = { raw = '[!QUOTE]', rendered = '󱆨 Quote', highlight = 'RenderMarkdownQuote'}, cite = { raw = '[!CITE]', rendered = '󱆨 Cite', highlight = 'RenderMarkdownQuote'}, }, checkbox = { enabled = true, render_modes = false, bullet = false, right_pad = 1, unchecked = { icon = '󰄱 ', highlight = 'RenderMarkdownUnchecked', scope_highlight = nil, }, checked = { icon = '󰱒 ', highlight = 'RenderMarkdownChecked', scope_highlight = nil, }, custom = { todo = { raw = '[-]', rendered = '󰥔 ', highlight = 'RenderMarkdownTodo', scope_highlight = nil }, }, }, 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', scope_highlight = {}, }, quote = { icon = '▋' }, anti_conceal = { enabled = true, -- Which elements to always show, ignoring anti conceal behavior. Values can either be -- booleans to fix the behavior or string lists representing modes where anti conceal -- behavior will be ignored. Valid values are: -- head_icon, head_background, head_border, code_language, code_background, code_border, -- dash, bullet, check_icon, check_scope, quote, table_border, callout, link, sign ignore = { code_background = true, sign = true, }, above = 0, below = 0, }, })