return { { -- handy markdown commands 'tadmccorkle/markdown.nvim', ft = { 'markdown' }, opts = { mappings = false, on_attach = function(buf) local set = function(mode, lhs, rhs, desc) vim.keymap.set(mode, lhs, rhs, { buffer = buf, desc = 'Markdown: ' .. desc }) end set('n', 'nio', 'MDListItemBelow', 'Insert list item below') set('n', 'niO', 'MDListItemAbove', 'Insert list item above') set({ 'n', 'v', 'x', 'i' }, '', 'MDTaskToggle', 'Toggle task') set('x', '', 'gv(markdown_add_link_visual)', 'Make link') end, }, }, { -- pretty markdown 'MeanderingProgrammer/markdown.nvim', name = 'render-markdown', -- needed if used together with markdown.nvim above main = 'render-markdown', dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons', }, ft = { 'markdown' }, opts = { completions = { blink = { enabled = true } }, sign = { enabled = true }, indent = { enabled = false }, heading = { width = 'block', icons = { '▒ ', '▒▒ ', '▒▒▒ ', '▒▒▒▒ ', '▒▒▒▒▒ ', '▒▒▒▒▒▒ ', }, signs = { 'ⅰ', 'ⅱ', 'ⅲ', 'ⅳ', 'ⅴ', 'ⅵ' }, backgrounds = {}, foregrounds = {}, }, bullet = { icons = { '* ', '-', '>' }, }, checkbox = { checked = { icon = ' 󰄲 ' }, unchecked = { icon = ' 󰄱 ' }, custom = { todo = { raw = '[-]', rendered = ' 󰔟 ', highlight = 'RenderMarkdownTodo' }, }, }, code = { width = 'block', border = 'thin', disable_background = true, }, quote = { icon = '>', }, link = { image = '󰥶', email = '󰁥', hyperlink = '', wiki = { icon = '󰭤 ' }, custom = { pdf = { pattern = '%.pdf$', icon = '󰈦 ' }, }, }, }, init = vim.schedule_wrap(function() local hl = vim.api.nvim_set_hl hl(0, '@markup.bold', { link = 'markdownBold', force = true }) hl(0, '@markup.italic', { link = 'markdownItalic', force = true }) -- hl(0, 'RenderMarkdownH1', { fg = 'NvimLightCyan' }) -- hl(0, 'RenderMarkdownH1Bg', { bg = 'NvimDarkCyan' }) -- hl(0, 'RenderMarkdownH2', { fg = 'NvimLightMagenta' }) -- hl(0, 'RenderMarkdownH2Bg', { bg = 'NvimDarkMagenta' }) -- hl(0, 'RenderMarkdownH3', { fg = 'NvimLightYellow' }) -- hl(0, 'RenderMarkdownH3Bg', { bg = 'NvimDarkYellow' }) -- hl(0, 'RenderMarkdownH4', { fg = 'NvimLightBlue' }) -- hl(0, 'RenderMarkdownH4Bg', { bg = 'NvimDarkBlue' }) -- hl(0, 'RenderMarkdownH5', { fg = 'NvimLightRed' }) -- hl(0, 'RenderMarkdownH5Bg', { bg = 'NvimDarkRed' }) hl(0, 'RenderMarkdownBullet', { link = '@markup.list', force = true }) end), }, }