78 lines
2.1 KiB
Lua
78 lines
2.1 KiB
Lua
return {
|
|
{
|
|
-- NOTE: Requires manual auth with ':Copilot auth' or 'GH_COPILOT_TOKEN' set as envvar
|
|
"zbirenbaum/copilot.lua",
|
|
cmd = "Copilot",
|
|
event = "InsertEnter",
|
|
opts = {
|
|
panel = { layout = { position = "bottom" } },
|
|
suggestion = { keymap = { accept = "<M-p>" } },
|
|
},
|
|
keys = {
|
|
{
|
|
"<leader>ap",
|
|
function()
|
|
-- FIXME: If opening before lazy-loaded, errors
|
|
require("copilot.panel").open({})
|
|
require("copilot.panel").refresh()
|
|
end,
|
|
desc = "Refresh Copilot Panel",
|
|
silent = true,
|
|
mode = { "n" },
|
|
},
|
|
},
|
|
},
|
|
-- TODO: Add completion w blink, see https://codecompanion.olimorris.dev/installation.html
|
|
{
|
|
"olimorris/codecompanion.nvim",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"nvim-treesitter/nvim-treesitter",
|
|
"zbirenbaum/copilot.lua",
|
|
},
|
|
init = function(_)
|
|
if require("core.util").is_available("which-key") then
|
|
require("which-key").add({ "<leader>a", group = "codecompanion" })
|
|
end
|
|
end,
|
|
opts = {
|
|
strategies = {
|
|
chat = { adapter = "groq" },
|
|
inline = { adapter = "groq" },
|
|
},
|
|
adapters = {
|
|
groq = function()
|
|
return require("codecompanion.adapters").extend("openai", {
|
|
env = {
|
|
api_key = "GROQ_API_KEY",
|
|
},
|
|
name = "Groq",
|
|
url = "https://api.groq.com/openai/v1/chat/completions",
|
|
schema = {
|
|
model = {
|
|
default = "llama-3.1-8b-instant",
|
|
choices = {
|
|
"llama-3.3-70b-versatile",
|
|
"meta-llama/llama-4-maverick-17b-128e-instruct",
|
|
"mistral-saba-24b",
|
|
},
|
|
},
|
|
},
|
|
max_tokens = {
|
|
default = 4096,
|
|
},
|
|
temperature = {
|
|
default = 1,
|
|
},
|
|
})
|
|
end,
|
|
},
|
|
},
|
|
keys = {
|
|
{ "<leader>aa", "<cmd>CodeCompanionActions<cr>", desc = "Actions", silent = true, mode = { "n", "v" } },
|
|
{ "<leader>ac", "<cmd>CodeCompanionChat Toggle<cr>", desc = "Toggle chat", silent = true },
|
|
{ "<leader>ac", "<cmd>CodeCompanionChat Add<cr>", desc = "Add to chat", silent = true, mode = "v" },
|
|
},
|
|
cmd = { "CodeCompanionActions", "CodeCompanionChat", "CodeCompanion", "CodeCompanionCmd" },
|
|
},
|
|
}
|