aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-treesitter/incremental_selection.lua
diff options
context:
space:
mode:
authorStephan Seitz <stephan.seitz@fau.de>2022-12-14 22:27:23 +0100
committerStephan Seitz <stephan.seitz@fau.de>2022-12-15 14:55:15 +0100
commit507527711fdd8f701544024aeb1a9a068f986d89 (patch)
tree6b37877da790bf8c1dabc6feeec408c7c5473e0a /lua/nvim-treesitter/incremental_selection.lua
parenthighlights(lua): use @method.call (diff)
downloadnvim-treesitter-507527711fdd8f701544024aeb1a9a068f986d89.tar
nvim-treesitter-507527711fdd8f701544024aeb1a9a068f986d89.tar.gz
nvim-treesitter-507527711fdd8f701544024aeb1a9a068f986d89.tar.bz2
nvim-treesitter-507527711fdd8f701544024aeb1a9a068f986d89.tar.lz
nvim-treesitter-507527711fdd8f701544024aeb1a9a068f986d89.tar.xz
nvim-treesitter-507527711fdd8f701544024aeb1a9a068f986d89.tar.zst
nvim-treesitter-507527711fdd8f701544024aeb1a9a068f986d89.zip
feat: allow to set keymappings to `false`
Fixes #3954
Diffstat (limited to 'lua/nvim-treesitter/incremental_selection.lua')
-rw-r--r--lua/nvim-treesitter/incremental_selection.lua44
1 files changed, 24 insertions, 20 deletions
diff --git a/lua/nvim-treesitter/incremental_selection.lua b/lua/nvim-treesitter/incremental_selection.lua
index 5deaaf84e..4d4f2aad6 100644
--- a/lua/nvim-treesitter/incremental_selection.lua
+++ b/lua/nvim-treesitter/incremental_selection.lua
@@ -130,33 +130,37 @@ local FUNCTION_DESCRIPTIONS = {
function M.attach(bufnr)
local config = configs.get_module "incremental_selection"
for funcname, mapping in pairs(config.keymaps) do
- local mode
- local rhs
- if funcname == "init_selection" then
- mode = "n"
- rhs = M[funcname]
- else
- mode = "x"
- -- We need to move to command mode to access marks '< (visual area start) and '> (visual area end) which are not
- -- properly accessible in visual mode.
- rhs = string.format(":lua require'nvim-treesitter.incremental_selection'.%s()<CR>", funcname)
+ if mapping then
+ local mode
+ local rhs
+ if funcname == "init_selection" then
+ mode = "n"
+ rhs = M[funcname]
+ else
+ mode = "x"
+ -- We need to move to command mode to access marks '< (visual area start) and '> (visual area end) which are not
+ -- properly accessible in visual mode.
+ rhs = string.format(":lua require'nvim-treesitter.incremental_selection'.%s()<CR>", funcname)
+ end
+ vim.keymap.set(
+ mode,
+ mapping,
+ rhs,
+ { buffer = bufnr, silent = true, noremap = true, desc = FUNCTION_DESCRIPTIONS[funcname] }
+ )
end
- vim.keymap.set(
- mode,
- mapping,
- rhs,
- { buffer = bufnr, silent = true, noremap = true, desc = FUNCTION_DESCRIPTIONS[funcname] }
- )
end
end
function M.detach(bufnr)
local config = configs.get_module "incremental_selection"
for f, mapping in pairs(config.keymaps) do
- if f == "init_selection" then
- vim.keymap.del("n", mapping, { buffer = bufnr })
- else
- vim.keymap.del("x", mapping, { buffer = bufnr })
+ if mapping then
+ if f == "init_selection" then
+ vim.keymap.del("n", mapping, { buffer = bufnr })
+ else
+ vim.keymap.del("x", mapping, { buffer = bufnr })
+ end
end
end
end