return { -- https://github.com/folke/sidekick.nvim "folke/sidekick.nvim", opts = { cli = { mux = { enabled = false, -- I haven't bothered to include tmux yet backend = "tmux", }, }, }, keys = { { "", function() -- if there is a next edit, jump to it, otherwise apply it if any if not require("sidekick").nes_jump_or_apply() then return "" -- fallback to normal tab end end, expr = true, desc = "Goto/Apply Next Edit Suggestion", }, { "", function() require("sidekick.cli").focus() end, desc = "Sidekick Focus", mode = { "n", "t", "i", "x" }, }, { "aa", function() require("sidekick.cli").toggle() end, desc = "Sidekick Toggle CLI", }, { "as", function() require("sidekick.cli").select() end, -- Or to select only installed tools: -- require("sidekick.cli").select({ filter = { installed = true } }) desc = "Select CLI", }, { "ad", function() require("sidekick.cli").close() end, desc = "Detach a CLI Session", }, { "at", function() require("sidekick.cli").send({ msg = "{this}" }) end, mode = { "x", "n" }, desc = "Send This", }, { "af", function() require("sidekick.cli").send({ msg = "{file}" }) end, desc = "Send File", }, { "av", function() require("sidekick.cli").send({ msg = "{selection}" }) end, mode = { "x" }, desc = "Send Visual Selection", }, { "ap", function() require("sidekick.cli").prompt() end, mode = { "n", "x" }, desc = "Sidekick Select Prompt", }, -- Example of a keybinding to open Claude directly -- { -- "ac", -- function() -- require("sidekick.cli").toggle({ name = "claude", focus = true }) -- end, -- desc = "Sidekick Toggle Claude", -- }, }, }