return { "olimorris/codecompanion.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", { "zbirenbaum/copilot.lua", cmd = "Copilot", event = "InsertEnter", config = function() require("copilot").setup({ suggestion = { enabled = false }, panel = { enabled = true, auto_refresh = true }, }) end, }, "hrsh7th/nvim-cmp", -- Optional: For using slash commands and variables in the chat buffer "nvim-telescope/telescope.nvim", -- Optional: For using slash commands { "stevearc/dressing.nvim", opts = {} }, -- Optional: Improves `vim.ui.select` }, opts = { strategies = { chat = { adapter = "copilot", }, inline = { adapter = "copilot", }, agent = { adapter = "copilot" }, }, display = { action_palette = { prompt = " " } } }, keys = { { "at", function() require("codecompanion").toggle() end, desc = "Toggle AI chat", mode = { "n", "v" } }, { "aa", "CodeCompanion", desc = "Run an inline prompt", mode = { "n", "v" } }, { "aA", function() require("codecompanion").actions() end, desc = "Open AI actions", mode = { "n", "v" } }, { "av", function() require("codecompanion").add() end, desc = "Add visual selection to chat", mode = "v" }, { "ae", function() require("codecompanion").prompt("explain") end, desc = "Explain code", mode = "v" }, } }