-- lua/plugins/tools.lua return { { "olimorris/codecompanion.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", "echasnovski/mini.diff", }, opts = { display = { diff = { provider = "mini_diff" }, chat = { show_settings = false, window = { position = "right", opts = { number = false } }, }, }, strategies = { chat = { adapter = "gemini_high" }, inline = { adapter = "gemini_none" }, cmd = { adapter = "gemini_none" }, }, adapters = { ollama = function() return require("codecompanion.adapters").extend("ollama", { name = "ollama", env = { url = "http://192.168.1.165:11434" }, parameters = { sync = true }, schema = { num_ctx = { default = 8192 } }, }) end, gemini_pro = function() return require("codecompanion.adapters").extend("gemini", { name = "gemini_pro", schema = { model = { default = "gemini-2.5-pro-preview-05-06" } }, }) end, gemini_none = function() return require("codecompanion.adapters").extend("gemini", { name = "gemini_none", schema = { model = { default = "gemini-2.5-flash-preview-05-20" }, reasoning_effort = { default = "none" }, temperature = { default = 0 }, }, }) end, gemini_high = function() return require("codecompanion.adapters").extend("gemini", { name = "gemini_high", schema = { model = { default = "gemini-2.5-flash-preview-05-20" }, reasoning_effort = { default = "high" }, }, }) end, openai_high = function() return require("codecompanion.adapters").extend("openai", { name = "openai_high", schema = { model = { default = "o4-mini-2025-04-16" }, reasoning_effort = { default = "high" }, }, }) end, }, }, keys = { { "cc", "CodeCompanionChat", desc = "CodeCompanion Chat", silent = true }, { "cf", "CodeCompanionChat gemini_none", desc = "CodeCompanion Chat (Fast)", silent = true, }, { "ca", "CodeCompanionActions", desc = "CodeCompanion Actions", silent = true }, { "ci", ":CodeCompanion", mode = { "n", "v" }, desc = "CodeCompanion Inline" }, }, }, }