Add .config/nvim/.luarc.json Add .config/nvim/init.lua Add .config/nvim/lazy-lock.json Add .config/nvim/lua/config/00_lazy.lua Add .config/nvim/lua/config/10_opts.lua Add .config/nvim/lua/config/20_keymaps.lua Add .config/nvim/lua/config/30_autocmds.lua Add .config/nvim/lua/config/40_statusline.lua Add .config/nvim/lua/plugin/00_treesitter.lua Add .config/nvim/lua/plugin/01_lsp.lua Add .config/nvim/lua/plugin/02_completion.lua Add .config/nvim/lua/plugin/03_tmux.lua Add .config/nvim/lua/plugin/04_fzflua.lua Add .config/nvim/lua/plugin/05_whichkey.lua Add .config/nvim/lua/plugin/06_leap.lua Add .config/nvim/lua/plugin/07_oil.lua Add .config/nvim/lua/plugin/08_ai.lua Add .config/nvim/lua/plugin/09_gitsigns.lua Add .config/nvim/lua/plugin/10_conform.lua Add .config/nvim/lua/plugin/11_yanky.lua Add .config/nvim/lua/plugin/12_neoscroll.lua Add .config/nvim/lua/plugin/13_easyalign.lua Add .config/nvim/lua/plugin/14_obsidian.lua Add .config/nvim/snippets/global.json Add .config/nvim/snippets/lua.json Add .config/nvim/snippets/package.json Add .config/nvim/stylua.toml
45 lines
1.2 KiB
Lua
45 lines
1.2 KiB
Lua
return {
|
|
{
|
|
"ggandor/leap.nvim",
|
|
config = function()
|
|
require("leap").opts.preview = function(ch0, ch1, ch2)
|
|
return not (
|
|
ch1:match("%s")
|
|
or (ch0:match("%a") and ch1:match("%a") and ch2:match("%a"))
|
|
)
|
|
end
|
|
|
|
-- hop label at start of word, rather than the end
|
|
require("leap").opts.on_beacons = function(targets, _, _)
|
|
for _, t in ipairs(targets) do
|
|
if t.label and t.beacon then
|
|
t.beacon[1] = 0
|
|
end
|
|
end
|
|
end
|
|
|
|
-- gray out backdrop when selecting
|
|
vim.api.nvim_set_hl(0, "LeapBackdrop", { link = "Comment" })
|
|
|
|
require("leap").opts.equivalence_classes = {
|
|
" \t\r\n",
|
|
"([{",
|
|
")]}",
|
|
"'\"`",
|
|
}
|
|
|
|
vim.keymap.set({ "n", "x", "o" }, "s", function()
|
|
require("leap").leap({ target_windows = vim.api.nvim_list_wins() })
|
|
if vim.fn.mode() == "v" then
|
|
vim.cmd("normal! iw")
|
|
end
|
|
end)
|
|
|
|
vim.keymap.set({ "n", "o" }, "gs", function()
|
|
require("leap.remote").action({
|
|
input = vim.fn.mode(true):match("o") and "" or "v",
|
|
})
|
|
end)
|
|
end,
|
|
},
|
|
}
|