local M = { { "zbirenbaum/copilot.lua", dependencies = { "copilotlsp-nvim/copilot-lsp", }, cmd = "Copilot", build = ":Copilot auth", event = "BufReadPost", config = function() require("copilot").setup({ suggestion = { enabled = true, auto_trigger = true, keymap = { accept = "", accept_line = "", accept_word = "", -- next = "", -- prev = "", dismiss = "", }, }, nes = { enabled = false, keymap = { accept_and_goto = "p", accept = false, dismiss = "", }, }, panel = { enabled = false }, filetypes = { lua = true, markdown = true, help = true, }, }) -- vim.api.nvim_create_autocmd("User", { -- pattern = "BlinkCmpMenuOpen", -- callback = function() -- vim.b.copilot_suggestion_hidden = true -- end, -- }) -- -- vim.api.nvim_create_autocmd("User", { -- pattern = "BlinkCmpMenuClose", -- callback = function() -- vim.b.copilot_suggestion_hidden = false -- end, -- }) end, }, { "olimorris/codecompanion.nvim", version = "^19.0.0", opts = {}, dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", }, }, { "folke/sidekick.nvim", opts = { -- add any options here cli = { mux = { backend = "zellij", enabled = true, }, }, }, 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", }, }, }, } return M