Sharing config
This commit is contained in:
@@ -50,5 +50,9 @@ helpers.open_term = function(opts)
|
||||
vim.cmd.startinsert()
|
||||
end
|
||||
|
||||
helpers.has_copilot = function()
|
||||
return vim.fn.getenv('COPILOT_API_KEY') ~= nil
|
||||
end
|
||||
|
||||
return helpers
|
||||
-- nnoremap <Leader>ev :tabedit $MYVIMRC<CR>
|
||||
|
||||
@@ -129,7 +129,7 @@ vim.api.nvim_create_autocmd('FileType', {
|
||||
vim.keymap.set('i', '<S-Enter>', '<Enter>', { buffer = true, desc = 'Use shift enter to start a new line' })
|
||||
vim.keymap.set('n', '<Enter>', 'G', { buffer = true, desc = 'Use enter in normal mode to go to the end of the chat' })
|
||||
|
||||
local models = { 'gpt-4.1', 'gemini-2.5-pro', 'gemini-2.0-flash-001', 'claude-3.7-sonnet-thought', 'o4-mini' }
|
||||
local models = { vim.env.DEFAULT_AI_MODEL, vim.env.REASONING_MODEL, vim.env.FAST_MODEL }
|
||||
-- Loop through models and create keymaps for each
|
||||
for i, model in ipairs(models) do
|
||||
vim.keymap.set('n', '<C-' .. i .. '>', 'mzggj0W"_C' .. model .. '<Esc>`z', { desc = 'Switch to ' .. model })
|
||||
|
||||
@@ -1,25 +1,29 @@
|
||||
-- AI code completion
|
||||
-- return {
|
||||
-- 'zbirenbaum/copilot.lua',
|
||||
-- event = 'InsertEnter',
|
||||
-- config = function()
|
||||
-- require('copilot').setup {
|
||||
-- suggestion = {
|
||||
-- enabled = true,
|
||||
-- auto_trigger = true,
|
||||
-- keymap = {
|
||||
-- accept = '<Tab>',
|
||||
-- },
|
||||
-- },
|
||||
-- filetypes = {
|
||||
-- yaml = true,
|
||||
-- markdown = true,
|
||||
-- gitcommit = true,
|
||||
-- gitrebase = true,
|
||||
-- },
|
||||
-- }
|
||||
-- end,
|
||||
-- }
|
||||
|
||||
if (vim.fn.getenv('COPILOT_API_KEY') ~= nil) then
|
||||
return {
|
||||
'zbirenbaum/copilot.lua',
|
||||
event = 'InsertEnter',
|
||||
config = function()
|
||||
require('copilot').setup {
|
||||
suggestion = {
|
||||
enabled = true,
|
||||
auto_trigger = true,
|
||||
keymap = {
|
||||
accept = '<Tab>',
|
||||
},
|
||||
},
|
||||
filetypes = {
|
||||
yaml = true,
|
||||
markdown = true,
|
||||
gitcommit = true,
|
||||
gitrebase = true,
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
'milanglacier/minuet-ai.nvim',
|
||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||
|
||||
@@ -4,12 +4,25 @@ return {
|
||||
require('codecompanion').setup {
|
||||
adapters = {
|
||||
http = {
|
||||
openrouter = function()
|
||||
default = function()
|
||||
if (require('helpers').has_copilot()) then
|
||||
return require('codecompanion.adapters').extend('copilot', {
|
||||
schema = {
|
||||
model = {
|
||||
default = vim.env.DEFAULT_AI_MODEL,
|
||||
},
|
||||
max_tokens = {
|
||||
default = 1000000,
|
||||
},
|
||||
}
|
||||
})
|
||||
end
|
||||
return require('codecompanion.adapters').extend('openai_compatible', {
|
||||
env = {
|
||||
url = vim.env.DEFAULT_OPENAI_API_BASE,
|
||||
api_key = vim.env.DEFAULT_OPENAI_API_KEY,
|
||||
chat_url = '/v1/chat/completions',
|
||||
chat_url = '/chat/completions',
|
||||
models_endpoint = '/models',
|
||||
},
|
||||
schema = {
|
||||
model = {
|
||||
@@ -31,7 +44,7 @@ return {
|
||||
},
|
||||
strategies = {
|
||||
chat = {
|
||||
adapter = 'openrouter',
|
||||
adapter = 'default',
|
||||
slash_commands = {
|
||||
-- codebase = require('vectorcode.integrations').codecompanion.chat.make_slash_command(),
|
||||
},
|
||||
@@ -63,13 +76,13 @@ return {
|
||||
},
|
||||
inline = {
|
||||
adapter = {
|
||||
name = 'openrouter',
|
||||
name = 'default',
|
||||
model = vim.env.FAST_MODEL,
|
||||
},
|
||||
},
|
||||
cmd = {
|
||||
adapter = {
|
||||
name = 'openrouter',
|
||||
name = 'default',
|
||||
model = vim.env.FAST_MODEL,
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user