From b8e245dedee9e9f1cd9a5914e4bc830508e55565 Mon Sep 17 00:00:00 2001 From: ShatteredMINT Date: Tue, 1 Oct 2024 00:06:01 +0200 Subject: [PATCH] add comment.nvim and fix lsp keymap --- lua/config/comment.lua | 15 +++++++++++++++ lua/config/init.lua | 1 + lua/config/lazy.lua | 8 +++++--- lua/config/lsp.lua | 20 ++++++++++---------- lua/config/nvim-cmp.lua | 6 +++--- readme.md | 2 +- 6 files changed, 35 insertions(+), 17 deletions(-) create mode 100644 lua/config/comment.lua diff --git a/lua/config/comment.lua b/lua/config/comment.lua new file mode 100644 index 0000000..9d66f2f --- /dev/null +++ b/lua/config/comment.lua @@ -0,0 +1,15 @@ +local opts = { noremap = true, silent = true } + +require("Comment").setup({ + mappings = { + ---Operator-pending mapping; `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}` + basic = false, + ---Extra mapping; `gco`, `gcO`, `gcA` + extra = false, + }, +}) + +vim.keymap.set("n", "/", require("Comment.api").toggle.linewise.current) + +vim.keymap.set("v", "/", + 'lua require("Comment.api").toggle.linewise(vim.fn.visualmode())', opts) diff --git a/lua/config/init.lua b/lua/config/init.lua index 17678c6..eb69ded 100644 --- a/lua/config/init.lua +++ b/lua/config/init.lua @@ -2,3 +2,4 @@ require("config.lazy") require("config.lsp") require("config.theme") require("config.nvim-tree") +require("config.comment") diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua index 6d47715..a754fb0 100644 --- a/lua/config/lazy.lua +++ b/lua/config/lazy.lua @@ -6,9 +6,9 @@ require("lazy").setup({ "hrsh7th/nvim-cmp", dependencies = { "hrsh7th/cmp-nvim-lsp", -- lsp auto-completion - "hrsh7th/cmp-buffer", -- buffer auto-completion - "hrsh7th/cmp-path", -- path auto-completion - "hrsh7th/cmp-cmdline", -- cmdline auto-completion + "hrsh7th/cmp-buffer", -- buffer auto-completion + "hrsh7th/cmp-path", -- path auto-completion + "hrsh7th/cmp-cmdline", -- cmdline auto-completion }, config = function() require("config.nvim-cmp") @@ -39,4 +39,6 @@ require("lazy").setup({ }, }, + "numToStr/Comment.nvim", + }) diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua index 381c74c..b58a092 100644 --- a/lua/config/lsp.lua +++ b/lua/config/lsp.lua @@ -33,10 +33,10 @@ local lspconfig = require('lspconfig') -- Customized on_attach function -- See `:help vim.diagnostic.*` for documentation on any of the below functions local opts = { noremap = true, silent = true } -vim.keymap.set('n', 'd', vim.diagnostic.open_float, opts) -vim.keymap.set('n', 'dn', vim.diagnostic.goto_prev, opts) -vim.keymap.set('n', 'dp', vim.diagnostic.goto_next, opts) -vim.keymap.set('n', 'dl', vim.diagnostic.setloclist, opts) +vim.keymap.set('n', 'd', vim.diagnostic.open_float, opts) +vim.keymap.set('n', 'dp', vim.diagnostic.goto_prev, opts) +vim.keymap.set('n', 'dn', vim.diagnostic.goto_next, opts) +vim.keymap.set('n', 'dl', vim.diagnostic.setloclist, opts) -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer @@ -46,19 +46,19 @@ local on_attach = function(client, bufnr) -- See `:help vim.lsp.*` for documentation on any of the below functions local bufopts = { noremap = true, silent = true, buffer = bufnr } - vim.keymap.set('n', 'ld', vim.lsp.buf.declaration, bufopts) - --vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) - --vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) + vim.keymap.set('n', 'ld', vim.lsp.buf.declaration, bufopts) + vim.keymap.set('n', 'lD', vim.lsp.buf.definition, bufopts) + vim.keymap.set('n', 'lh', vim.lsp.buf.hover, bufopts) --vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) - --vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) + vim.keymap.set('n', 'ls', vim.lsp.buf.signature_help, bufopts) --vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts) --vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts) --vim.keymap.set('n', 'wl', function() -- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) --end, bufopts) --vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'lr', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'la', vim.lsp.buf.code_action, bufopts) + vim.keymap.set('n', 'lr', vim.lsp.buf.rename, bufopts) + vim.keymap.set('n', 'la', vim.lsp.buf.code_action, bufopts) --vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) --vim.keymap.set("n", "f", function() -- vim.lsp.buf.format({ async = true }) diff --git a/lua/config/nvim-cmp.lua b/lua/config/nvim-cmp.lua index 86c331c..9e8ea20 100644 --- a/lua/config/nvim-cmp.lua +++ b/lua/config/nvim-cmp.lua @@ -72,8 +72,8 @@ cmp.setup({ -- Set source precedence sources = cmp.config.sources({ { name = 'nvim_lsp' }, -- For nvim-lsp - { name = 'luasnip' }, -- For luasnip user - { name = 'buffer' }, -- For buffer word completion - { name = 'path' }, -- For path completion + { name = 'luasnip' }, -- For luasnip user + { name = 'buffer' }, -- For buffer word completion + { name = 'path' }, -- For path completion }) }) diff --git a/readme.md b/readme.md index 8fe63d3..2d6c504 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ # TODO: -- [ ] commenting in normal / visual mode with '/' +- [x] commenting in normal / visual mode with '/' - [ ] autoclosing of brackets - [ ] type information in complete function