From 6d41f65aa45f10a93ad476db01413abaac21f27d Mon Sep 17 00:00:00 2001 From: shadmansaleh <13149513+shadmansaleh@users.noreply.github.com> Date: Thu, 30 Dec 2021 13:30:49 +0600 Subject: feat(lua): add vim.keymap This introduces two new functions `vim.keymap.set` & `vim.keymap.del` differences compared to regular set_keymap: - remap is used as opposite of noremap. By default it's true for keymaps and false for others. - rhs can be lua function. - mode can be a list of modes. - replace_keycodes option for lua function expr maps. (Default: true) - handles buffer specific keymaps Examples: ```lua vim.keymap.set('n', 'asdf', function() print("real lua function") end) vim.keymap.set({'n', 'v'}, 'lr', vim.lsp.buf.references, {buffer=true}) vim.keymap.set('n', 'w', "w", {silent = true, buffer = 5 }) vim.keymap.set('i', '', function() return vim.fn.pumvisible() == 1 and "" or "" end, {expr = true}) vim.keymap.set('n', '[%', '(MatchitNormalMultiBackward)') vim.keymap.del('n', 'asdf') vim.keymap.del({'n', 'i', 'v'}, 'w', {buffer = 5 }) ``` --- scripts/gen_vimdoc.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'scripts/gen_vimdoc.py') diff --git a/scripts/gen_vimdoc.py b/scripts/gen_vimdoc.py index 3810ebd9d0..3e9fb21039 100755 --- a/scripts/gen_vimdoc.py +++ b/scripts/gen_vimdoc.py @@ -129,6 +129,7 @@ CONFIG = { 'uri.lua', 'ui.lua', 'filetype.lua', + 'keymap.lua', ], 'files': ' '.join([ os.path.join(base_dir, 'src/nvim/lua/vim.lua'), @@ -136,6 +137,7 @@ CONFIG = { os.path.join(base_dir, 'runtime/lua/vim/uri.lua'), os.path.join(base_dir, 'runtime/lua/vim/ui.lua'), os.path.join(base_dir, 'runtime/lua/vim/filetype.lua'), + os.path.join(base_dir, 'runtime/lua/vim/keymap.lua'), ]), 'file_patterns': '*.lua', 'fn_name_prefix': '', @@ -151,6 +153,7 @@ CONFIG = { 'uri': 'vim', 'ui': 'vim.ui', 'filetype': 'vim.filetype', + 'keymap': 'vim.keymap', }, 'append_only': [ 'shared.lua', -- cgit