From 679b8b69fb0ee8c5249a416845054a1734815d43 Mon Sep 17 00:00:00 2001 From: Luc Sinet Date: Sat, 31 Jul 2021 14:47:31 +0200 Subject: [Refactor] Define keymapppings helpers in utils.keymap (#1176) --- lua/keymappings.lua | 44 +++++++++++++------------------------------- 1 file changed, 13 insertions(+), 31 deletions(-) (limited to 'lua/keymappings.lua') diff --git a/lua/keymappings.lua b/lua/keymappings.lua index 9c0ad217..3cbe797a 100644 --- a/lua/keymappings.lua +++ b/lua/keymappings.lua @@ -1,14 +1,12 @@ -local utils = require "utils" - local opts = { - nnoremap = { noremap = true, silent = true }, - inoremap = { noremap = true, silent = true }, - vnoremap = { noremap = true, silent = true }, - xnoremap = { noremap = true, silent = true }, - generic = { silent = true }, + insert_mode = { noremap = true, silent = true }, + normal_mode = { noremap = true, silent = true }, + visual_mode = { noremap = true, silent = true }, + visual_block_mode = { noremap = true, silent = true }, + term_mode = { silent = true }, } -local default_keys = { +local keymaps = { insert_mode = { -- I hate escape { "jk", "" }, @@ -83,33 +81,17 @@ local default_keys = { if vim.fn.has "mac" == 1 then -- TODO: fix this - default_keys.normal_mode[5][1] = "" - default_keys.normal_mode[6][1] = "" - default_keys.normal_mode[7][1] = "" - default_keys.normal_mode[8][1] = "" -end - -if lvim.leader == " " or lvim.leader == "space" then - vim.g.mapleader = " " -else - vim.g.mapleader = lvim.leader + keymaps.normal_mode[5][1] = "" + keymaps.normal_mode[6][1] = "" + keymaps.normal_mode[7][1] = "" + keymaps.normal_mode[8][1] = "" end -local function get_user_keys(mode) - if lvim.keys[mode] == nil then - return default_keys[mode] - else - return lvim.keys[mode] - end -end - -utils.add_keymap_normal_mode(opts.nnoremap, get_user_keys "normal_mode") -utils.add_keymap_insert_mode(opts.inoremap, get_user_keys "insert_mode") -utils.add_keymap_visual_mode(opts.vnoremap, get_user_keys "visual_mode") -utils.add_keymap_visual_block_mode(opts.xnoremap, get_user_keys "visual_block_mode") -utils.add_keymap_term_mode(opts.generic, get_user_keys "term_mode") +vim.g.mapleader = lvim.leader == "space" and " " or lvim.leader -- navigate tab completion with and -- runs conditionally vim.cmd 'inoremap pumvisible() ? "\\" : "\\"' vim.cmd 'inoremap pumvisible() ? "\\" : "\\"' + +return { keymaps = keymaps, opts = opts } -- cgit v1.2.3