local function select_or_create(search) local grapple = require("grapple") if grapple.exists(search) then grapple.select(search) else grapple.tag() end end return { "cbochs/grapple.nvim", dependencies = { { "nvim-tree/nvim-web-devicons", lazy = true }, }, lazy = false, cmd = "Grapple", keys = { { "a", "Grapple toggle", desc = "Toggle bookmark for current file" }, { "D", "Grapple reset", desc = "Delete all bookmarks" }, { "t", "Grapple toggle_tags", desc = "Toggle bookmarks window" }, { "T", "Grapple toggle_scopes", desc = "Toggle scopes window" }, { "n", "Grapple cycle forward", desc = "Next bookmark" }, { "N", "Grapple cycle backward", desc = "Prev bookmark" }, { "j", function() select_or_create({ index = 1 }) end, desc = "Go or create bookmark 1" }, { "k", function() select_or_create({ index = 2 }) end, desc = "Go or create bookmark 2" }, { "l", function() select_or_create({ index = 3 }) end, desc = "Go or create bookmark 3" }, { "ñ", function() select_or_create({ index = 4 }) end, desc = "Go or create bookmark 4" }, { "J", "Grapple tag index=1", desc = "Override bookmark 1" }, { "K", "Grapple tag index=2", desc = "Override bookmark 2" }, { "L", "Grapple tag index=3", desc = "Override bookmark 3" }, { "Ñ", "Grapple tag index=4", desc = "Override bookmark 4" }, }, }