From e432b71f4e3e866f564135f17fb5b1ee04be5490 Mon Sep 17 00:00:00 2001 From: Solomon Laing Date: Thu, 17 Jul 2025 21:24:52 +0930 Subject: [PATCH] ooooooh ai here we come! --- .config/nvim/.gitignore | 1 + .config/nvim/lua/lazyvim/plugins/cmp.lua | 3 +- .../lua/lazyvim/plugins/codecompanion.lua | 50 +++++++++++++++++++ .../nvim/lua/lazyvim/plugins/treesitter.lua | 1 + 4 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 .config/nvim/.gitignore create mode 100644 .config/nvim/lua/lazyvim/plugins/codecompanion.lua diff --git a/.config/nvim/.gitignore b/.config/nvim/.gitignore new file mode 100644 index 0000000..e033bc6 --- /dev/null +++ b/.config/nvim/.gitignore @@ -0,0 +1 @@ +lazy-lock.json diff --git a/.config/nvim/lua/lazyvim/plugins/cmp.lua b/.config/nvim/lua/lazyvim/plugins/cmp.lua index c67e08e..c2d2d87 100644 --- a/.config/nvim/lua/lazyvim/plugins/cmp.lua +++ b/.config/nvim/lua/lazyvim/plugins/cmp.lua @@ -41,7 +41,8 @@ return { -- Default list of enabled providers defined so that you can extend it -- elsewhere in your config, without redefining it, due to `opts_extend` sources = { - default = { 'lsp', 'path', 'snippets', 'buffer' }, + default = { 'lsp', 'path', 'snippets', 'buffer', 'codecompanion' }, + -- default = { 'lsp', 'path', 'snippets', 'buffer' }, }, }, opts_extend = { "sources.default" } diff --git a/.config/nvim/lua/lazyvim/plugins/codecompanion.lua b/.config/nvim/lua/lazyvim/plugins/codecompanion.lua new file mode 100644 index 0000000..06f54e9 --- /dev/null +++ b/.config/nvim/lua/lazyvim/plugins/codecompanion.lua @@ -0,0 +1,50 @@ +return { + { + "olimorris/codecompanion.nvim", + enabled = true, + lazy = false, + dependencies = { + { "nvim-lua/plenary.nvim", branch = "master" }, + "nvim-treesitter/nvim-treesitter", + "ravitemer/mcphub.nvim", + }, + keys = { + { "C", "CodeCompanionChat", desc = "Open CodeCompanion Chat" } + }, + opts = { + strategies = { + chat = { adapter = "openai" }, + inline = { adapter = "openai" }, + }, + extensions = { + mcphub = { + callback = "mcphub.extensions.codecompanion", + opts = { + make_vars = true, + make_slash_commands = true, + show_result_in_chat = true + } + } + }, + opts = { + log_level = "DEBUG", + }, + adapters = { + openai = function() + return require("codecompanion.adapters").extend("openai", { + env = { + api_key = "cmd:cat $HOME/.config/openai/KEY", + }, + }) + end, + anthropic = function() + return require("codecompanion.adapters").extend("anthropic", { + env = { + api_key = "cmd:cat $HOME/.config/anthropic/KEY", + }, + }) + end, + }, + }, + }, +} diff --git a/.config/nvim/lua/lazyvim/plugins/treesitter.lua b/.config/nvim/lua/lazyvim/plugins/treesitter.lua index 7348e51..7214071 100644 --- a/.config/nvim/lua/lazyvim/plugins/treesitter.lua +++ b/.config/nvim/lua/lazyvim/plugins/treesitter.lua @@ -68,6 +68,7 @@ return { "vim", "javascript", "regex", + "markdown", "markdown_inline", "typescript", "html",