aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lua/nvim-treesitter/incremental_selection.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/lua/nvim-treesitter/incremental_selection.lua b/lua/nvim-treesitter/incremental_selection.lua
index 1bacd07f8..5deaaf84e 100644
--- a/lua/nvim-treesitter/incremental_selection.lua
+++ b/lua/nvim-treesitter/incremental_selection.lua
@@ -131,15 +131,20 @@ 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)
end
vim.keymap.set(
mode,
mapping,
- M[funcname],
+ rhs,
{ buffer = bufnr, silent = true, noremap = true, desc = FUNCTION_DESCRIPTIONS[funcname] }
)
end