diff --git a/private_dot_config/nvim/lua/plugin/35_ai.lua b/private_dot_config/nvim/lua/plugin/35_ai.lua new file mode 100644 index 0000000..fba37e2 --- /dev/null +++ b/private_dot_config/nvim/lua/plugin/35_ai.lua @@ -0,0 +1,76 @@ +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 + 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", }, + }, + -- stylua: unignore + 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:", + }, + }, + }, + }, + }, +}