| 12345678910111213141516171819202122232425262728293031 | local M = {}local mode_adapters = {  insert_mode = "i",  normal_mode = "n",  term_mode = "t",  visual_mode = "v",  visual_block_mode = "x",}-- Load key mappings for a given mode-- @param mode The keymap mode, can be one of the keys of mode_adapters-- @param keymaps The list of key mappings-- @param opts The mapping optionsM.load_mode = function(mode, keymaps, opts)  mode = mode_adapters[mode] and mode_adapters[mode] or mode  for key, mapping in pairs(keymaps) do    vim.api.nvim_set_keymap(mode, key, mapping[1], opts)  endend-- Load key mappings for all provided modes-- @param keymaps A list of key mappings for each mode-- @param opts The mapping options for each modeM.load = function(keymaps, opts)  for mode, mapping in pairs(keymaps) do    M.load_mode(mode, mapping, opts[mode])  endendreturn M
 |