From 59106e860edde09107d2628a81eee816871eb065 Mon Sep 17 00:00:00 2001 From: kylo252 <59826753+kylo252@users.noreply.github.com> Date: Sun, 18 Jul 2021 19:49:41 +0200 Subject: [Refactor] Make default keybindings configurable (#988) --- lua/lv-utils/init.lua | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'lua/lv-utils/init.lua') diff --git a/lua/lv-utils/init.lua b/lua/lv-utils/init.lua index bc2b51b7..f26324b2 100644 --- a/lua/lv-utils/init.lua +++ b/lua/lv-utils/init.lua @@ -21,6 +21,32 @@ function lv_utils.check_lsp_client_active(name) return false end +function lv_utils.add_keymap(mode, opts, keymaps) + for _, keymap in ipairs(keymaps) do + vim.api.nvim_set_keymap(mode, keymap[1], keymap[2], opts) + end +end + +function lv_utils.add_keymap_normal_mode(opts, keymaps) + lv_utils.add_keymap("n", opts, keymaps) +end + +function lv_utils.add_keymap_visual_mode(opts, keymaps) + lv_utils.add_keymap("v", opts, keymaps) +end + +function lv_utils.add_keymap_visual_block_mode(opts, keymaps) + lv_utils.add_keymap("x", opts, keymaps) +end + +function lv_utils.add_keymap_insert_mode(opts, keymaps) + lv_utils.add_keymap("i", opts, keymaps) +end + +function lv_utils.add_keymap_term_mode(opts, keymaps) + lv_utils.add_keymap("t", opts, keymaps) +end + function lv_utils.define_augroups(definitions) -- {{{1 -- Create autocommand groups based on the passed definitions -- -- cgit v1.2.3