return { { "olimorris/codecompanion.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", { "MeanderingProgrammer/render-markdown.nvim", ft = { "markdown", "codecompanion" }, }, { "nvim-mini/mini.diff", config = function() require("mini.diff").setup({ source = require("mini.diff").gen_source.none(), }) end, }, { "HakonHarnes/img-clip.nvim", opts = { filetypes = { codecompanion = { prompt_for_file_name = false, template = "[Image]($FILE_PATH)", use_absolute_path = true, }, }, }, }, }, -- stylua: ignore start keys = { { "ac", mode = { "n", "v" }, "CodeCompanionChat Toggle", desc = "toggle chat" }, { "ai", mode = { "n", "v" }, "CodeCompanionActions", desc = "actions picker" }, { "y", mode = { "v" }, "CodeCompanionChat Add", desc = "put in chat", }, { "ap", mode = { "n", "v" }, "CodeCompanion", desc = "in-line prompt", }, }, -- stylua: ignore end opts = { strategies = { chat = { variables = { ["buffer"] = { opts = { default_params = "watch", }, }, }, slash_commands = { ["buffer"] = { keymaps = { modes = { i = "", n = "b", }, }, }, }, }, }, display = { action_palette = { width = 85, height = 10, prompt = "prompt:", provider = "fzf_lua", opts = { show_default_actions = true, show_default_prompt_library = true, title = "action:", }, }, }, }, }, }