diff --git a/nvim/lua/leap_keymap_handler.lua b/nvim/lua/leap_keymap_handler.lua new file mode 100644 index 0000000..55b791c --- /dev/null +++ b/nvim/lua/leap_keymap_handler.lua @@ -0,0 +1,25 @@ +local M = {} + +local function leap_across_windows() + require("leap").leap({ + target_windows = require("leap.user").get_focusable_windows() + }) +end + +local function leap_in_current_buffer() + require("leap").leap({ + target_windows = { vim.api.nvim_get_current_win() } + }) +end + +function M.set_leap_keymapping() + require("utils").foreach({ + { "n", "m", leap_across_windows }, + { "v", "m", leap_in_current_buffer }, + { "o", "m", leap_in_current_buffer } + }, function(mapping) + vim.keymap.set(mapping[1], mapping[2], mapping[3]) + end) +end + +return M diff --git a/nvim/lua/plugs/leap.lua b/nvim/lua/plugs/leap.lua index 76ca034..2ec7a66 100644 --- a/nvim/lua/plugs/leap.lua +++ b/nvim/lua/plugs/leap.lua @@ -1,15 +1,3 @@ -local function leap_across_windows() - require("leap").leap({ - target_windows = require("leap.user").get_focusable_windows() - }) -end - -local function leap_in_current_buffer() - require("leap").leap({ - target_windows = { vim.api.nvim_get_current_win() } - }) -end - local saved_hlsearch = false local saved_highlights = {} local colors = require("ayu.colors") @@ -32,11 +20,6 @@ return { event = "VeryLazy", lazy = true, opts = {}, - keys = { - { "m", function() leap_across_windows() end, mode = "n" }, - { "m", function() leap_in_current_buffer() end, mode = "v" }, - { "m", function() leap_in_current_buffer() end, mode = "o" }, - }, init = function() local leap = require("leap") @@ -71,5 +54,7 @@ return { for _, cmd in ipairs(autocmds) do utils.create_user_event_cb(cmd.event_name, cmd.cb, leap_augroup_name) end + + require("leap_keymap_handler").set_leap_keymapping() end, } diff --git a/nvim/lua/plugs/nvim-dap.lua b/nvim/lua/plugs/nvim-dap.lua index 5756f97..63afd26 100644 --- a/nvim/lua/plugs/nvim-dap.lua +++ b/nvim/lua/plugs/nvim-dap.lua @@ -67,6 +67,7 @@ return { if are_stepping_keymaps_active then utils.del_keymap_list(stepping_keymaps) are_stepping_keymaps_active = false + require("leap_keymap_handler").set_leap_keymapping() end inlay_hints_handler.restore()