33 lines
754 B
Lua
33 lines
754 B
Lua
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
|
|
|
|
local function normal_mode_leap()
|
|
if _G["snacks_zen_mode"] then
|
|
leap_in_current_buffer()
|
|
else
|
|
leap_across_windows()
|
|
end
|
|
end
|
|
|
|
function M.set_leap_keymapping()
|
|
require("utils").foreach({
|
|
{ "n", "m", normal_mode_leap },
|
|
{ "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
|