From 6d14d7b5da54fffabfec18b2b09a488d3661d7f9 Mon Sep 17 00:00:00 2001 From: Luc Sinet Date: Mon, 2 Aug 2021 17:19:44 +0200 Subject: [Refactor] Adopt which key mapping style (#1210) * Refactor keymappings to match which-key style * Update confif example + remove redundant way of registering mappings --- lua/core/bufferline.lua | 4 +-- lua/core/compe.lua | 12 +++---- lua/keymappings.lua | 92 ++++++++++++++++++++++++------------------------- lua/utils/keymap.lua | 4 +-- 4 files changed, 56 insertions(+), 56 deletions(-) (limited to 'lua') diff --git a/lua/core/bufferline.lua b/lua/core/bufferline.lua index 1957226e..35831d03 100644 --- a/lua/core/bufferline.lua +++ b/lua/core/bufferline.lua @@ -2,8 +2,8 @@ lvim.builtin.bufferline = { keymap = { values = { normal_mode = { - { "", ":BufferNext" }, - { "", ":BufferPrevious" }, + [""] = { ":BufferNext" }, + [""] = { ":BufferPrevious" }, }, }, opts = { diff --git a/lua/core/compe.lua b/lua/core/compe.lua index e18147fc..5f1632f9 100644 --- a/lua/core/compe.lua +++ b/lua/core/compe.lua @@ -42,12 +42,12 @@ M.config = function() keymap = { values = { insert_mode = { - { "", 'pumvisible() ? "" : ""' }, - { "", 'pumvisible() ? "" : ""' }, - { "", "compe#complete()" }, - { "", "compe#close('')" }, - { "", "compe#scroll({ 'delta': +4 })" }, - { "", "compe#scroll({ 'delta': -4 })" }, + [""] = { 'pumvisible() ? "" : ""' }, + [""] = { 'pumvisible() ? "" : ""' }, + [""] = { "compe#complete()" }, + [""] = { "compe#close('')" }, + [""] = { "compe#scroll({ 'delta': +4 })" }, + [""] = { "compe#scroll({ 'delta': -4 })" }, }, }, opts = { diff --git a/lua/keymappings.lua b/lua/keymappings.lua index 937a5e8b..9ef37a39 100644 --- a/lua/keymappings.lua +++ b/lua/keymappings.lua @@ -9,72 +9,72 @@ local opts = { local keymaps = { insert_mode = { -- I hate escape - { "jk", "" }, - { "kj", "" }, - { "jj", "" }, + ["jk"] = { "" }, + ["kj"] = { "" }, + ["jj"] = { "" }, -- Move current line / block with Alt-j/k ala vscode. - { "", ":m .+1==gi" }, - { "", ":m .-2==gi" }, + [""] = { ":m .+1==gi" }, + [""] = { ":m .-2==gi" }, -- navigation - { "", "k" }, - { "", "j" }, - { "", "h" }, - { "", "l" }, + [""] = { "k" }, + [""] = { "j" }, + [""] = { "h" }, + [""] = { "l" }, }, normal_mode = { -- Better window movement - { "", "h" }, - { "", "j" }, - { "", "k" }, - { "", "l" }, + [""] = { "h" }, + [""] = { "j" }, + [""] = { "k" }, + [""] = { "l" }, -- Resize with arrows - { "", ":resize -2" }, - { "", ":resize +2" }, - { "", ":vertical resize -2" }, - { "", ":vertical resize +2" }, + [""] = { ":resize -2" }, + [""] = { ":resize +2" }, + [""] = { ":vertical resize -2" }, + [""] = { ":vertical resize +2" }, -- Tab switch buffer -- { "", ":bnext" }, -- { "", ":bprevious" }, -- Move current line / block with Alt-j/k a la vscode. - { "", ":m .+1==" }, - { "", ":m .-2==" }, + [""] = { ":m .+1==" }, + [""] = { ":m .-2==" }, -- QuickFix - { "]q", ":cnext" }, - { "[q", ":cprev" }, - { "", ":call QuickFixToggle()" }, + ["]q"] = { ":cnext" }, + ["[q"] = { ":cprev" }, + [""] = { ":call QuickFixToggle()" }, -- {'', 'compe#complete()', {noremap = true, silent = true, expr = true}}, -- LSP - { "gd", "lua vim.lsp.buf.definition()" }, - { "gD", "lua vim.lsp.buf.declaration()" }, - { "gr", "lua vim.lsp.buf.references()" }, - { "gi", "lua vim.lsp.buf.implementation()" }, - { "gl", "lua vim.lsp.diagnostic.show_line_diagnostics({ show_header = false, border = 'single' })" }, - { "gs", "lua vim.lsp.buf.signature_help()" }, - { "gp", "lua require'lsp.peek'.Peek('definition')" }, - { "K", "lua vim.lsp.buf.hover()" }, - { "", "lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = lvim.lsp.popup_border}})" }, - { "", "lua vim.lsp.diagnostic.goto_next({popup_opts = {border = lvim.lsp.popup_border}})" }, + ["gd"] = { "lua vim.lsp.buf.definition()" }, + ["gD"] = { "lua vim.lsp.buf.declaration()" }, + ["gr"] = { "lua vim.lsp.buf.references()" }, + ["gi"] = { "lua vim.lsp.buf.implementation()" }, + ["gl"] = { "lua vim.lsp.diagnostic.show_line_diagnostics({ show_header = false, border = 'single' })" }, + ["gs"] = { "lua vim.lsp.buf.signature_help()" }, + ["gp"] = { "lua require'lsp.peek'.Peek('definition')" }, + ["K"] = { "lua vim.lsp.buf.hover()" }, + [""] = { "lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = lvim.lsp.popup_border}})" }, + [""] = { "lua vim.lsp.diagnostic.goto_next({popup_opts = {border = lvim.lsp.popup_border}})" }, }, term_mode = { -- Terminal window navigation - { "", "h" }, - { "", "j" }, - { "", "k" }, - { "", "l" }, + [""] = { "h" }, + [""] = { "j" }, + [""] = { "k" }, + [""] = { "l" }, }, visual_mode = { -- Better indenting - { "<", "", ">gv" }, + ["<"] = { ""] = { ">gv" }, -- { "p", '"0p', { silent = true } }, -- { "P", '"0P', { silent = true } }, @@ -82,21 +82,21 @@ local keymaps = { visual_block_mode = { -- Move selected line / block of text in visual mode - { "K", ":move '<-2gv-gv" }, - { "J", ":move '>+1gv-gv" }, + ["K"] = { ":move '<-2gv-gv" }, + ["J"] = { ":move '>+1gv-gv" }, -- Move current line / block with Alt-j/k ala vscode. - { "", ":m '>+1gv-gv" }, - { "", ":m '<-2gv-gv" }, + [""] = { ":m '>+1gv-gv" }, + [""] = { ":m '<-2gv-gv" }, }, } if vim.fn.has "mac" == 1 then -- TODO: fix this - keymaps.normal_mode[5][1] = "" - keymaps.normal_mode[6][1] = "" - keymaps.normal_mode[7][1] = "" - keymaps.normal_mode[8][1] = "" + keymaps.normal_mode[""] = keymaps.normal_mode[""] + keymaps.normal_mode[""] = keymaps.normal_mode[""] + keymaps.normal_mode[""] = keymaps.normal_mode[""] + keymaps.normal_mode[""] = keymaps.normal_mode[""] end vim.g.mapleader = (lvim.leader == "space" and " ") or lvim.leader diff --git a/lua/utils/keymap.lua b/lua/utils/keymap.lua index 121a4888..1799e21f 100644 --- a/lua/utils/keymap.lua +++ b/lua/utils/keymap.lua @@ -14,8 +14,8 @@ local mode_adapters = { -- @param opts The mapping options M.load_mode = function(mode, keymaps, opts) mode = mode_adapters[mode] and mode_adapters[mode] or mode - for _, keymap in ipairs(keymaps) do - vim.api.nvim_set_keymap(mode, keymap[1], keymap[2], opts) + for key, mapping in pairs(keymaps) do + vim.api.nvim_set_keymap(mode, key, mapping[1], opts) end end -- cgit v1.2.3