diff options
| author | Robert Günzler <r@gnzler.io> | 2026-02-10 12:32:48 +0100 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2026-02-10 12:41:25 +0100 |
| commit | 63feeb9f369fc6176e85c1c2d8fcc863caad1946 (patch) | |
| tree | 41cd5d2d1ec36e74e464caab722cc9b460153f04 /.config/nvim/lua/plugins/markdown.lua | |
| parent | 5bd0a4aca65ecb9818ef1285982d160b6b6ff665 (diff) | |
start new
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.config/nvim/lua/plugins/markdown.lua')
| -rw-r--r-- | .config/nvim/lua/plugins/markdown.lua | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/markdown.lua b/.config/nvim/lua/plugins/markdown.lua new file mode 100644 index 0000000..b21255e --- /dev/null +++ b/.config/nvim/lua/plugins/markdown.lua @@ -0,0 +1,82 @@ +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', '<cmd>MDListItemBelow<cr>', 'Insert list item below') + set('n', 'niO', '<cmd>MDListItemAbove<cr>', 'Insert list item above') + set({ 'n', 'v', 'x', 'i' }, '<m-x>', '<cmd>MDTaskToggle<cr>', 'Toggle task') + set('x', '<m-l>', '<esc>gv<plug>(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, + }, + }, + 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), + }, +} |