return { "olimorris/codecompanion.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", -- "hrsh7th/nvim-cmp", { 'echasnovski/mini.diff', version = false }, { "stevearc/dressing.nvim", opts = {} }, }, config = function() require("codecompanion").setup({ strategies = { chat = { adapter = "copilot", }, inline = { adapter = "copilot", }, agent = { adapter = "copilot", }, }, adapters = { copilot = function() return require("codecompanion.adapters").extend("copilot", {}) end, }, display = { diff = { provider = "mini_diff", }, }, opts = { log_level = "DEBUG", }, }) local keymaps = { n = { ["ci"] = { cmd = "CodeCompanion" }, ["cc"] = { cmd = "CodeCompanionChat toggle" }, ["cm"] = { cmd = "CodeCompanion /commit" }, }, v = { ["ci"] = { cmd = "CodeCompanion" }, ["ga"] = { cmd = "CodeCompanionAdd" }, ["ce"] = { cmd = "CodeCompanion /explain" }, ["cf"] = { cmd = "CodeCompanion /fix" }, ["ct"] = { cmd = "CodeCompanion /tests" }, } } local utils = require("utils") utils.add_opts_to_all_mappings(keymaps, { silent = true }) utils.add_keymaps(keymaps) vim.cmd([[cab cc CodeCompanion]]) end }