aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.config/nvim/init.lua4
-rw-r--r--.config/nvim/lua/vimrc.lua7
2 files changed, 6 insertions, 5 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index 28038cc..b10be61 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -368,9 +368,9 @@ vimrc.map('i', '<Right>', '<Nop>')
vimrc.map_expr('n', 'gA', function()
local line = F.getline('.')
if vim.endswith(line, ';;') then -- for OCaml
- return 'A\\<C-g>U\\<Left>\\<C-g>U\\<Left>'
+ return vimrc.term([[A<C-g>U<Left><C-g>U<Left>]])
elseif vim.regex('[,;)]$'):match_str(line) then
- return 'A\\<C-g>U\\<Left>'
+ return vimrc.term([[A<C-g>U<Left>]])
else
return 'A'
end
diff --git a/.config/nvim/lua/vimrc.lua b/.config/nvim/lua/vimrc.lua
index d84c9cd..5f7475b 100644
--- a/.config/nvim/lua/vimrc.lua
+++ b/.config/nvim/lua/vimrc.lua
@@ -112,6 +112,7 @@ end
M.map_callbacks = {}
+local map_callback_id = 1
function M.map_expr(mode, lhs, rhs, opts)
if opts == nil then
@@ -119,13 +120,13 @@ function M.map_expr(mode, lhs, rhs, opts)
end
opts.noremap = true
opts.expr = true
- local callback_id = #M.map_callbacks + 1
- M.map_callbacks[callback_id] = rhs
+ M.map_callbacks['_' .. map_callback_id] = rhs
vim.api.nvim_set_keymap(
mode,
lhs,
- ('v:lua.vimrc.map_callbacks[%d]()'):format(callback_id),
+ ('v:lua.vimrc.map_callbacks._%d()'):format(map_callback_id),
opts)
+ map_callback_id = map_callback_id + 1
end