diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 1d3521b..4c7e4a3 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -18,51 +18,53 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "codesnap.nvim": { "branch": "main", "commit": "a223fd882953e56ae1a8747fdc44b8d6a2ff7a9b" }, - "diffview.nvim": { "branch": "main", "commit": "3afa6a053f680e9f1329c4a151db988a482306cd" }, + "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, "eslint.nvim": { "branch": "main", "commit": "158f2289907d377018752fcfe0d61b746dc11767" }, "feline.nvim": { "branch": "master", "commit": "3587f57480b88e8009df7b36dc84e9c7ff8f2c49" }, "fidget.nvim": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" }, - "fzf-lua": { "branch": "main", "commit": "04a1bb63db5bf7603cdbdd0d8e75a3f2fa8dc301" }, - "gatekeeper.nvim": { "branch": "main", "commit": "fa33c5c2dc13f0c25384c3c9e6621c7426d80d25" }, + "fzf-lua": { "branch": "main", "commit": "06d4fe9f9f86c40756b665b535b7d1dd6f25b639" }, "git-conflict.nvim": { "branch": "main", "commit": "bfd9fe6fba9a161fc199771d85996236a0d0faad" }, - "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" }, + "gitsigns.nvim": { "branch": "main", "commit": "47c8e3e571376b24de62408fd0c9d12f0a9fc0a3" }, "goto-preview": { "branch": "main", "commit": "3552fad4a0244ffd9ac86508e29ccc5166f19eb8" }, + "haskell-vim": { "branch": "master", "commit": "f35d02204b4813d1dbe8b0e98cc39701a4b8e15e" }, "heirline.nvim": { "branch": "master", "commit": "0d797435e54645a5f98bad7ad6046aac1ef95c1e" }, "hlargs.nvim": { "branch": "main", "commit": "30fe1b3de2b7614f061be4fc9c71984a2b87e50a" }, "hop.nvim": { "branch": "master", "commit": "036462a345792279c58f2f6445756efab706f04a" }, "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "eb4957442e3182f051b0ae11da32e06d22c190e3" }, - "lazydev.nvim": { "branch": "main", "commit": "7cbb524c85f87017df9c1ea2377a1d840ad8ed51" }, - "legendary.nvim": { "branch": "master", "commit": "280d5ffa73927317ff44d781ac1becdec6415540" }, + "lazy.nvim": { "branch": "main", "commit": "4c6479e98ad643cd584e9e7c4095c463e0d810eb" }, + "lazydev.nvim": { "branch": "main", "commit": "6184ebbbc8045d70077659b7d30c705a588dc62f" }, + "legendary.nvim": { "branch": "master", "commit": "89e0d00c5aed623c1f29cf2a963fd1737358e92a" }, "listish.nvim": { "branch": "master", "commit": "3bc4bb02036f3802c6428c6232633d3192ac3604" }, - "lsp_signature.nvim": { "branch": "master", "commit": "2ec2ba23882329c1302dff773b0d3620371d634f" }, + "lsp_signature.nvim": { "branch": "master", "commit": "a38da0a61c172bb59e34befc12efe48359884793" }, "lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" }, "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, + "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, + "markdown-toc.nvim": { "branch": "main", "commit": "fc95e8e305273d4a864abab05fc63885bb1a336f" }, "marks.nvim": { "branch": "master", "commit": "74e8d01b2a2131b6e46354cffc553aa7f81bcf5b" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "melange-nvim": { "branch": "master", "commit": "800490ee87ce3e1b4afe751ff81f2864cb01937d" }, "modicator.nvim": { "branch": "main", "commit": "780ea1e98c9bee8f3816685213b0aac42b34cd75" }, - "neogit": { "branch": "master", "commit": "e11bd464f3a3b4b3af8ea0a8e54ee1b70fee7371" }, + "neogit": { "branch": "master", "commit": "71eb98630b5cb2277636fdccc74a7358e910c01b" }, "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, "nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" }, "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lspconfig": { "branch": "master", "commit": "4d38bece98300e3e5cd24a9aa0d0ebfea4951c16" }, + "nvim-lspconfig": { "branch": "master", "commit": "bd7c76375a511994c9ca8d69441f134dc10ae3bd" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-neoclip.lua": { "branch": "main", "commit": "709c97fabec9da7d04f7d2f5e207423af8c02871" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-numbertoggle": { "branch": "main", "commit": "c5827153f8a955886f1b38eaea6998c067d2992f" }, "nvim-origami": { "branch": "main", "commit": "c824f470e0c177707822c37b13087ab1dd7ddf91" }, "nvim-surround": { "branch": "main", "commit": "687ea2f33955df0042bf228853a82696265e7e2d" }, - "nvim-treesitter": { "branch": "master", "commit": "9a7ad2ff7a7ea81016aca2fc89c9b2c1a5365421" }, + "nvim-treesitter": { "branch": "master", "commit": "9916da1bfd99d6fb18ac6ef4ca6a79d00fcf6fcc" }, "nvim-treesitter-context": { "branch": "master", "commit": "5efba33af0f39942e426340da7bc15d7dec16474" }, "nvim-treesitter-endwise": { "branch": "master", "commit": "8b34305ffc28bd75a22f5a0a9928ee726a85c9a6" }, "nvim-treesitter-refactor": { "branch": "master", "commit": "65ad2eca822dfaec2a3603119ec3cc8826a7859e" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, - "oil.nvim": { "branch": "master", "commit": "a62ec258d1c99d354b256a2ec39733ad9109d808" }, + "oil.nvim": { "branch": "master", "commit": "b77ed915ab1e53720a6283702816cea2695a2638" }, "outline.nvim": { "branch": "main", "commit": "028e0bc8ad3d511e9fc1f0678594a608eb908ee5" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "prettier.nvim": { "branch": "main", "commit": "d98e732cb73690b07c00c839c924be1d1d9ac5c2" }, @@ -77,13 +79,13 @@ "telescope-undo.nvim": { "branch": "main", "commit": "95b61c01ea3a4c9e8747731148e905bbcf0ccaee" }, "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, "tiny-devicons-auto-colors.nvim": { "branch": "main", "commit": "f3f136fd82eded0bd1e1870cf7dfab7e8c36801e" }, - "todo-comments.nvim": { "branch": "main", "commit": "9c104cf7868f1c739b43a07e5593666cc9de2d67" }, - "trouble.nvim": { "branch": "main", "commit": "483eb2d7590b3b87cf159e3bdf96170eaaa361e8" }, + "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, + "trouble.nvim": { "branch": "main", "commit": "58a3acfc6d8d819324dab4c87068596319032e64" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "vim-cursorword": { "branch": "master", "commit": "34852083276c1fd9ff4cccaf052111e7d5a2472e" }, - "vim-fugitive": { "branch": "master", "commit": "4f59455d2388e113bd510e85b310d15b9228ca0d" }, + "vim-fugitive": { "branch": "master", "commit": "64d6cafb9dcbacce18c26d7daf617ebb96b273f3" }, "vim-obsession": { "branch": "master", "commit": "fe9d3e1a9a50171e7d316a52e1e56d868e4c1fe5" }, - "vim-prosession": { "branch": "master", "commit": "1cb2eadde0b79f49eb4b5a54cc78735aea33cbca" }, + "vim-prosession": { "branch": "master", "commit": "4b8323d4e9b74afe9132a34b2d7ea6cfa9461550" }, "vim-visual-multi": { "branch": "master", "commit": "b84a6d42c1c10678928b0bf8327f378c8bc8af5a" }, "vim-vsnip": { "branch": "master", "commit": "02a8e79295c9733434aab4e0e2b8c4b7cea9f3a9" }, "vim-wakatime": { "branch": "master", "commit": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23" }, diff --git a/nvim/lua/config.lua b/nvim/lua/config.lua index ca16dd7..a433f70 100644 --- a/nvim/lua/config.lua +++ b/nvim/lua/config.lua @@ -92,7 +92,7 @@ local plugins = { }, opts = { inlay_hints = { enabled = true, }, - -- codelens = { enabled = true, }, + codelens = { enabled = true, }, }, config = function(_, servers) for server, opts in pairs(servers) do @@ -411,9 +411,6 @@ local plugins = { { 'lewis6991/spaceless.nvim', -- Automatically remove trailing space }, - { - 'augustocdias/gatekeeper.nvim', -- Set buffer to RO when editing external files - }, { 'stevearc/oil.nvim', opts = {}, @@ -426,6 +423,21 @@ local plugins = { vim.keymap.set({ "v", "n" }, "a", require("actions-preview").code_actions) end, }, + { "neovimhaskell/haskell-vim" }, + { + "hedyhli/markdown-toc.nvim", + ft = "markdown", -- Lazy load on markdown filetype + cmd = { "Mtoc" }, -- Or, lazy load on "Mtoc" command + opts = { + -- Your configuration here (optional) + }, + }, + { + "iamcco/markdown-preview.nvim", + cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, + ft = { "markdown" }, + build = function() vim.fn["mkdp#util#install"]() end, + }, } require("lazy").setup(plugins, {}) @@ -484,7 +496,6 @@ config.setup({ highlight = { enable = true}, indent = { enable = true}, }) -vim.keymap.set('n', 'f', 'lua require("oil").save()', {}) -- import nvim-cmp plugin safely local cmp_status, cmp = pcall(require, "cmp") @@ -546,7 +557,12 @@ cmp.setup({ }, -- sources for autocompletion sources = cmp.config.sources({ - { name = "nvim_lsp" }, -- LSP + { + name = "nvim_lsp", + option = { + markdown_oxide = { keyword_pattern = [[\(\k\| \|\/\|#\)\+]] } + } + }, -- LSP { name = "luasnip" }, -- snippets { name = "buffer" }, -- text within the current buffer { name = "path" }, -- file system paths @@ -559,6 +575,7 @@ cmp.setup({ -- Setup language servers. local lspconfig = require('lspconfig') local capabilities = require('cmp_nvim_lsp').default_capabilities() +-- local extended_caps = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities) -- lspconfig.svls.setup { -- capabilities = capabilities -- } @@ -586,9 +603,17 @@ lspconfig.hls.setup {} lspconfig.lua_ls.setup { capabilities = capabilities } -lspconfig.marksman.setup {} lspconfig.cmake.setup {} +capabilities.workspace = { + didChangeWatchedFiles = { + dynamicRegistration = true, + }, +} +require("lspconfig").markdown_oxide.setup({ + capabilities = capabilities, -- again, ensure that capabilities.workspace.didChangeWatchedFiles.dynamicRegistration = true +}) + local lspconfutil = require 'lspconfig/util' local root_pattern = lspconfutil.root_pattern("veridian.yml", ".git") require('lspconfig').veridian.setup { @@ -637,6 +662,7 @@ vim.api.nvim_create_autocmd('LspAttach', { require("lsp_signature").setup({ handler_opts = { border = "none" }, + hint_prefix = "🌸", }) vim.keymap.set({'i', 'n', 'v', 'x'}, '', '', {noremap=true}) @@ -923,13 +949,13 @@ local map = vim.api.nvim_set_keymap local opts = { noremap = true, silent = true } -- Move to previous/next -map('n', '', 'BufferPrevious', opts) -map('n', '', 'BufferNext', opts) +map('n', '', 'BufferPrevious', opts) +map('n', '', 'BufferNext', opts) -- Re-order to previous/next map('n', '', 'BufferMovePrevious', opts) -- Configuration for kitty map('n', '', 'BufferMoveNext', opts) -map('n', '', 'BufferPin', opts); -map('n', '', 'BufferClose', opts); +map('n', '', 'BufferPin', opts); +map('n', '', 'BufferClose', opts) require('diffview').setup() @@ -1005,15 +1031,6 @@ vim.api.nvim_create_autocmd("LspAttach", { require('neoclip').setup {} -require('gatekeeper').setup({ --- default values - exclude = { - vim.fn.expand('~/.config/nvim'), - }, - exclude_regex = {}, - debug = false, -- will call vim.notify with info when it is being evaluated -}) - require("oil").setup{ columns = { "icon", @@ -1022,3 +1039,12 @@ require("oil").setup{ "mtime", }, } + +-- refresh codelens on TextChanged and InsertLeave as well +vim.api.nvim_create_autocmd({ 'TextChanged', 'InsertLeave', 'CursorHold', 'LspAttach' }, { + pattern = { "*.md" }, + callback = vim.lsp.codelens.refresh, +}) + +-- trigger codelens refresh +vim.api.nvim_exec_autocmds('User', { pattern = 'LspAttached' })