1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
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', '[[', [[<Plug>(markdown_go_prev_heading)]], { desc = 'md: previous heading' })
set('n', ']]', [[<Plug>(markdown_go_next_heading)]], { desc = 'md: next heading' })
set('n', '<s-tab>', [[:MDTaskToggle<cr>]], { desc = 'md: toggle task' })
set('x', '<c-l>', [[<esc>gv<Plug>(markdown_add_link_visual)]], { desc = 'md: make link' })
local toggle_emph = function(key)
return [[<esc>gv<cmd>lua require('markdown.inline').toggle_emphasis_visual(']]
.. key
.. [[')<cr>]]
end
set('x', '<c-b>', toggle_emph('b'), { desc = 'md: make bold' })
set('x', '<c-i>', toggle_emph('i'), { desc = 'md: make italic' })
set('x', '<c-s>', toggle_emph('s'), { desc = 'md: make strikethrough' })
set('x', '<c-c>', 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),
},
}
|