summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins/comment.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/plugins/comment.lua')
-rw-r--r--.config/nvim/lua/plugins/comment.lua15
1 files changed, 13 insertions, 2 deletions
diff --git a/.config/nvim/lua/plugins/comment.lua b/.config/nvim/lua/plugins/comment.lua
index d41bad4..6e9a55e 100644
--- a/.config/nvim/lua/plugins/comment.lua
+++ b/.config/nvim/lua/plugins/comment.lua
@@ -2,7 +2,6 @@ return {
'numToStr/Comment.nvim',
opts = {
padding = true,
- sticky = true, -- keep cursor at it's position
ignore = nil,
toggler = { line = 'gcc', block = 'gbc' },
@@ -10,8 +9,20 @@ return {
extra = { above = 'gcO', below = 'gco', eol = 'gcA' },
mappings = {
- basic = true, -- `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}`
+ basic = true, -- `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}`
extra = false, -- `gco`, `gcO`, `gcA`
},
},
+ config = function()
+ local api = require('Comment.api')
+ local esc = vim.api.nvim_replace_termcodes('<ESC>', true, false, true)
+ -- TODO: Stay in visual mode and keep the same selection even after commenting
+ local toggole_linewise_selection = function()
+ vim.api.nvim_feedkeys(esc, 'nx', false)
+ api.toggle.linewise(vim.fn.visualmode())
+ end
+
+ vim.keymap.set('n', '<C-_>', api.toggle.linewise.current, { noremap = true, silent = true })
+ vim.keymap.set('v', '<C-_>', toggole_linewise_selection, { noremap = true, silent = true })
+ end,
}