diff --git a/home/dot_config/lvim/config.lua b/home/dot_config/lvim/config.lua index a6b07ef..ba0df3a 100644 --- a/home/dot_config/lvim/config.lua +++ b/home/dot_config/lvim/config.lua @@ -100,6 +100,7 @@ lvim.builtin.treesitter.ensure_installed = { "julia", "latex", "lua", + "markdown", "perl", "python", "typescript", @@ -111,8 +112,9 @@ lvim.builtin.treesitter.ensure_installed = { "yaml", } -lvim.builtin.treesitter.ignore_install = { "comment" } +lvim.builtin.treesitter.ignore_install = { "all" } lvim.builtin.treesitter.highlight.enable = true +lvim.builtin.treesitter.additional_vim_regex_highlighting = { "markdown" } lvim.builtin.treesitter.highlight.disable( "latex", "zsh" ) lvim.builtin.treesitter.rainbow.enable = true diff --git a/home/dot_config/lvim/lua/user/plugins.lua b/home/dot_config/lvim/lua/user/plugins.lua index 79f9557..6332192 100644 --- a/home/dot_config/lvim/lua/user/plugins.lua +++ b/home/dot_config/lvim/lua/user/plugins.lua @@ -128,6 +128,24 @@ M.setup = function() ]]) end }, + -- markdown: syntax highlighting, matching rules and mappings for + -- the original Markdown and extensions + { + 'preservim/vim-markdown', + ft = "markdown", + config = function() + vim.g.vim_markdown_folding_disabled = 1 + vim.g.vim_markdown_no_default_key_mappings = 0 + vim.g.vim_markdown_conceal_code_blocks = 0 + vim.g.vim_markdown_math = 1 + vim.g.tex_conceal = "abmgs" + vim.g.vim_markdown_conceal = 1 + vim.g.vim_markdown_toc_autofit = 1 + vim.g.vim_markdown_follow_anchor = 0 + vim.g.vim_markdown_toml_frontmatter = 1 + vim.g.vim_markdown_strikethrough = 1 + end, + }, -- markdown previewer { 'iamcco/markdown-preview.nvim', @@ -248,13 +266,57 @@ M.setup = function() }) end }, - -- zk: a plain text note-taking assistant { - 'mickael-menu/zk-nvim', + "postfen/clipboard-image.nvim", + keys = { + { "<leader>i", "<cmd>PasteImg<CR>"}, + }, config = function() - require("zk").setup({ + require'clipboard-image'.setup({ + -- Default configuration for all filetype + default = { + img_dir = {"%:p:h", "img"}, -- Use table for nested dir (New feature form PR #20) + img_name = function () + vim.fn.inputsave() + local name = vim.fn.input('Name: ') + vim.fn.inputrestore() + return name + end, + affix = "<\n %s\n>" -- Multi lines affix + }, + markdown = { + img_dir = {"%:p:h", "img"}, -- Use table for nested dir (New feature form PR #20) + img_name = function () + vim.fn.inputsave() + local name = vim.fn.input('Name: ') + vim.fn.inputrestore() + return name + end, + img_handler = function(img) + vim.cmd("normal! f[") -- go to [ + vim.cmd("normal! a" .. img.name) -- append text with image name + end, + affix = "", + } }) - end, + end + }, + -- lists: plugin to manage text based lists + { + 'bullets-vim/bullets.vim', + }, + { + 'lervag/lists.vim', + ft = "markdown", + config = function() + vim.cmd("ListsEnable") + end + }, + { + 'lervag/vim-rainbow-lists', + }, + { + 'KabbAmine/lazyList.vim', }, -- nvim-ts-rainbow: rainbowed parenthesis { @@ -350,9 +412,20 @@ M.setup = function() { "nvim-neotest/neotest" }, + { + 'nvim-neotest/nvim-nio' + }, { "nvim-neotest/neotest-python" }, + -- zk: a plain text note-taking assistant + { + 'mickael-menu/zk-nvim', + config = function() + require("zk").setup({ + }) + end, + }, } end