diff options
Diffstat (limited to '')
| -rw-r--r-- | .vim/lua/internal/plugins/writing.lua | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/.vim/lua/internal/plugins/writing.lua b/.vim/lua/internal/plugins/writing.lua new file mode 100644 index 0000000..4792697 --- /dev/null +++ b/.vim/lua/internal/plugins/writing.lua @@ -0,0 +1,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), + }, +} |