Sharing config

This commit is contained in:
Chris
2025-11-10 09:19:30 +00:00
parent a21a1a3386
commit 2255489fd8
4 changed files with 48 additions and 27 deletions

View File

@@ -50,5 +50,9 @@ helpers.open_term = function(opts)
vim.cmd.startinsert() vim.cmd.startinsert()
end end
helpers.has_copilot = function()
return vim.fn.getenv('COPILOT_API_KEY') ~= nil
end
return helpers return helpers
-- nnoremap <Leader>ev :tabedit $MYVIMRC<CR> -- nnoremap <Leader>ev :tabedit $MYVIMRC<CR>

View File

@@ -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('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' }) 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 -- Loop through models and create keymaps for each
for i, model in ipairs(models) do for i, model in ipairs(models) do
vim.keymap.set('n', '<C-' .. i .. '>', 'mzggj0W"_C' .. model .. '<Esc>`z', { desc = 'Switch to ' .. model }) vim.keymap.set('n', '<C-' .. i .. '>', 'mzggj0W"_C' .. model .. '<Esc>`z', { desc = 'Switch to ' .. model })

View File

@@ -1,25 +1,29 @@
-- AI code completion -- AI code completion
-- return {
-- 'zbirenbaum/copilot.lua', if (vim.fn.getenv('COPILOT_API_KEY') ~= nil) then
-- event = 'InsertEnter', return {
-- config = function() 'zbirenbaum/copilot.lua',
-- require('copilot').setup { event = 'InsertEnter',
-- suggestion = { config = function()
-- enabled = true, require('copilot').setup {
-- auto_trigger = true, suggestion = {
-- keymap = { enabled = true,
-- accept = '<Tab>', auto_trigger = true,
-- }, keymap = {
-- }, accept = '<Tab>',
-- filetypes = { },
-- yaml = true, },
-- markdown = true, filetypes = {
-- gitcommit = true, yaml = true,
-- gitrebase = true, markdown = true,
-- }, gitcommit = true,
-- } gitrebase = true,
-- end, },
-- } }
end,
}
end
return { return {
'milanglacier/minuet-ai.nvim', 'milanglacier/minuet-ai.nvim',
dependencies = { 'nvim-lua/plenary.nvim' }, dependencies = { 'nvim-lua/plenary.nvim' },

View File

@@ -4,12 +4,25 @@ return {
require('codecompanion').setup { require('codecompanion').setup {
adapters = { adapters = {
http = { 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', { return require('codecompanion.adapters').extend('openai_compatible', {
env = { env = {
url = vim.env.DEFAULT_OPENAI_API_BASE, url = vim.env.DEFAULT_OPENAI_API_BASE,
api_key = vim.env.DEFAULT_OPENAI_API_KEY, api_key = vim.env.DEFAULT_OPENAI_API_KEY,
chat_url = '/v1/chat/completions', chat_url = '/chat/completions',
models_endpoint = '/models',
}, },
schema = { schema = {
model = { model = {
@@ -31,7 +44,7 @@ return {
}, },
strategies = { strategies = {
chat = { chat = {
adapter = 'openrouter', adapter = 'default',
slash_commands = { slash_commands = {
-- codebase = require('vectorcode.integrations').codecompanion.chat.make_slash_command(), -- codebase = require('vectorcode.integrations').codecompanion.chat.make_slash_command(),
}, },
@@ -63,13 +76,13 @@ return {
}, },
inline = { inline = {
adapter = { adapter = {
name = 'openrouter', name = 'default',
model = vim.env.FAST_MODEL, model = vim.env.FAST_MODEL,
}, },
}, },
cmd = { cmd = {
adapter = { adapter = {
name = 'openrouter', name = 'default',
model = vim.env.FAST_MODEL, model = vim.env.FAST_MODEL,
}, },
}, },