local keys = {} -- stylua: ignore start for i = 1, 9 do table.insert(keys, { "m" .. i, "Grapple select index=" .. i .. "", desc = "File " .. i }) end table.insert(keys, { "ma", "Grapple tag", desc = "Add Mark" }) table.insert(keys, { "mm", "Grapple toggle_tags", desc = "Marks" }) table.insert(keys, { "mt", "Telescope grapple tags", desc = "Marks (Telescope)" }) table.insert(keys, { "mC", "Grapple reset", desc = "Clear all Marks" }) table.insert(keys, { "mc", "Grapple untag", desc = "Clear Current Mark" }) table.insert(keys, { "ms", "Grapple toggle_scopes", desc = "Scopes" }) table.insert(keys, { "mS", "Grapple toggle_loaded", desc = "Loaded Scopes" }) table.insert(keys, { "]k", "Grapple cycle forward", desc = "Next Mark" }) table.insert(keys, { "[k", "Grapple cycle backward", desc = "Prev Mark" }) table.insert(keys, { "", "Grapple cycle forward", desc = "Next Mark" }) table.insert(keys, { "", "Grapple cycle backward", desc = "Prev Mark" }) -- stylua: ignore end return { { "cbochs/grapple.nvim", dependencies = { "nvim-tree/nvim-web-devicons", optional = true, }, cmd = { "Grapple" }, keys = keys, config = function() require("grapple").setup() LazyVim.on_load("telescope.nvim", function() require("telescope").load_extension("grapple") end) end, }, { "goolord/alpha-nvim", optional = true, opts = function(_, dashboard) local button = dashboard.button("m", "󰛢 " .. " Marks", "Grapple toggle_tags") button.opts.hl = "AlphaButtons" button.opts.hl_shortcut = "AlphaShortcut" table.insert(dashboard.section.buttons.val, 5, button) end, }, { "nvimdev/dashboard-nvim", optional = true, opts = function(_, opts) local grapple = { action = "Grapple toggle_tags", desc = " Marks", icon = "󰛢 ", key = "m", } grapple.desc = grapple.desc .. string.rep(" ", 43 - #grapple.desc) grapple.key_format = " %s" table.insert(opts.config.center, 5, grapple) end, }, { "nvim-lualine/lualine.nvim", optional = true, opts = function(_, opts) table.insert(opts.sections.lualine_c, { require("grapple").statusline, cond = require("grapple").exists }) end, }, { "folke/which-key.nvim", opts = { spec = { { "m", group = "marks", icon = "󰛢 " }, }, }, }, }