summaryrefslogtreecommitdiff
path: root/lua/keymappings.lua
diff options
context:
space:
mode:
authorLuc Sinet <[email protected]>2021-07-31 14:47:31 +0200
committerGitHub <[email protected]>2021-07-31 12:47:31 +0000
commit679b8b69fb0ee8c5249a416845054a1734815d43 (patch)
treeb06b90142b7f97c794b93af167e6297dd3cca848 /lua/keymappings.lua
parent49945491f9906739dcf049d1e2920d6c662b2328 (diff)
[Refactor] Define keymapppings helpers in utils.keymap (#1176)
Diffstat (limited to 'lua/keymappings.lua')
-rw-r--r--lua/keymappings.lua44
1 files changed, 13 insertions, 31 deletions
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", "<ESC>" },
@@ -83,33 +81,17 @@ local default_keys = {
if vim.fn.has "mac" == 1 then
-- TODO: fix this
- default_keys.normal_mode[5][1] = "<A-Up>"
- default_keys.normal_mode[6][1] = "<A-Down>"
- default_keys.normal_mode[7][1] = "<A-Left>"
- default_keys.normal_mode[8][1] = "<A-Right>"
-end
-
-if lvim.leader == " " or lvim.leader == "space" then
- vim.g.mapleader = " "
-else
- vim.g.mapleader = lvim.leader
+ keymaps.normal_mode[5][1] = "<A-Up>"
+ keymaps.normal_mode[6][1] = "<A-Down>"
+ keymaps.normal_mode[7][1] = "<A-Left>"
+ keymaps.normal_mode[8][1] = "<A-Right>"
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 <c-j> and <c-k>
-- runs conditionally
vim.cmd 'inoremap <expr> <C-j> pumvisible() ? "\\<C-n>" : "\\<C-j>"'
vim.cmd 'inoremap <expr> <C-k> pumvisible() ? "\\<C-p>" : "\\<C-k>"'
+
+return { keymaps = keymaps, opts = opts }