return { { 'folke/zen-mode.nvim', cmd = { 'ZenMode' }, opts = { window = { -- width = 0.9, -- height = 0.9, options = { cursorline = true, }, }, plugins = { options = { number = false, ruler = false, showcmd = false, }, gitsigns = { enabled = false }, twilight = { enabled = true }, }, on_open = function() vim.diagnostic.enable(false) end, on_close = function() vim.diagnostic.enable(true) end, }, -- init = function() -- vim.api.nvim_create_autocmd({ 'BufWinEnter', 'BufWinLeave' }, { -- pattern = { '*.md' }, -- command = [[ZenMode]], -- }) -- end, dependencies = { { 'folke/twilight.nvim', opts = { context = 24, dimming = { alpha = 0.5, color = { 'Normal', '#ffffff' }, }, }, }, }, }, { 'tadmccorkle/markdown.nvim', ft = { 'markdown' }, opts = { mappings = false, }, config = function(_, opts) require('markdown').setup(opts) local set = vim.keymap.set set('n', '[[', [[(markdown_go_prev_heading)]], { desc = 'md: previous heading' }) set('n', ']]', [[(markdown_go_next_heading)]], { desc = 'md: next heading' }) set('n', '', [[:MDTaskToggle]], { desc = 'md: toggle task' }) set('x', '', [[gv(markdown_add_link_visual)]], { desc = 'md: make link' }) local toggle_emph = function(key) return [[gvlua require('markdown.inline').toggle_emphasis_visual(']] .. key .. [[')]] end set('x', '', toggle_emph('b'), { desc = 'md: make bold' }) set('x', '', toggle_emph('i'), { desc = 'md: make italic' }) set('x', '', toggle_emph('s'), { desc = 'md: make strikethrough' }) set('x', '', toggle_emph('c'), { desc = 'md: make code' }) end, }, { '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 = { heading = { -- icons = { '❶ ', '❷ ', '❸ ', '❹ ', '❺ ', '❻ ' }, icons = { ' ', ' ', ' ', ' ', ' ', ' ', }, signs = { 'ⅰ', 'ⅱ', 'ⅲ', 'ⅳ', 'ⅴ', 'ⅵ' }, }, bullet = { icons = { '∙', '∘', '⋅', '⋄' }, }, checkbox = { checked = { icon = '󰄲 ' }, unchecked = { icon = '󰄱 ' }, custom = { todo = { raw = '[-]', rendered = '󰔟 ', highlight = 'RenderMarkdownTodo' }, }, }, }, init = vim.schedule_wrap(function() vim.api.nvim_set_hl(0, 'RenderMarkdownH1Bg', { bg = 'NvimDarkBlue' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH1Fg', { fg = 'NvimLightBlue' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH2Bg', { bg = 'NvimDarkMagenta' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH2Fg', { fg = 'NvimLightMagenta' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH3Bg', { bg = 'NvimDarkYellow' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH3Fg', { fg = 'NvimLightYellow' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH4Bg', { bg = 'NvimDarkCyan' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH4Fg', { fg = 'NvimLightCyan' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH6Bg', { bg = 'NvimDarkRed' }) vim.api.nvim_set_hl(0, 'RenderMarkdownH6Fg', { fg = 'NvimLightRed' }) end), }, }