Sharing config
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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 })
|
||||||
|
|||||||
@@ -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' },
|
||||||
|
|||||||
@@ -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,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user