Implemented chat and inline functionality with codecompanion!!

This commit is contained in:
venus
2026-06-06 01:56:41 -05:00
parent b056fe2097
commit 552b3e1a79
5 changed files with 77 additions and 27 deletions

View File

@@ -56,18 +56,12 @@ vim.keymap.set("n","<C-S-k>" ,"<C-w>K" ,{ desc = "Move window to the upper
-- vim.keymap.set("n", "<leader>a", ":IncRename ", {desc = 'ren[A]me variable under cursor'})
-- PLUGIN KEYBINDS
vim.keymap.set("n", "<leader>va" ,"<cmd>CodeCompanionActions<cr>" ,{ desc = "Actions Panel", noremap = true, silent = true })
vim.keymap.set("n", "<leader>vt" ,"<cmd>CodeCompanionChat Toggle<cr>" ,{ desc = "Toggle Chat", noremap = true, silent = true })
vim.keymap.set("v", "<leader>vg" ,"<cmd>CodeCompanionChat Add<cr>" ,{ desc = "Add Chat", noremap = true, silent = true })
vim.cmd([[cab cc CodeCompanion]])
vim.keymap.set({ "n", "v" } ,"<leader>aa" ,"<cmd>CodeCompanionActions<cr>" ,{ desc = "CodeCompanion - Actions" })
vim.keymap.set({ "n", "v" } ,"<leader>ac" ,"<cmd>CodeCompanionChat Toggle<cr>" ,{ desc = "CodeCompanion - Chat" })
vim.keymap.set({ "n", "v" } ,"<leader>ai" ,"<cmd>CodeCompanion<cr>" ,{ desc = "CodeCompanion - Inline" })
vim.keymap.set("v" ,"<leader>ad" ,"<cmd>CodeCompanionChat Add<cr>" ,{ desc = "CodeCompanion - Add to Chat" })
-- Expand 'cc' into 'CodeCompanion' in the command line
vim.cmd([[cab cc CodeCompanion]])
-- TODO better AI implementation
vim.keymap.set('n',"<leader>a/" ,"<cmd>Gemini toggle<cr>" ,{ desc = "Toggle Gemini CLI" })
vim.keymap.set('n',"<leader>aa" ,"<cmd>Gemini toggle<cr>" ,{ desc = "Toggle Gemini CLI" })
vim.keymap.set('n',"<leader>aq" ,"<cmd>Gemini ask<cr>" ,{ desc = "Ask Gemini", })
vim.keymap.set('n',"<leader>af" ,"<cmd>Gemini add_file<cr>" ,{ desc = "Add File"} )
--spellcheck keybind to toggle on current buffer
vim.keymap.set('n',"<leader>ze" ,"<cmd>setlocal spell<cr>" ,{ desc = "enable spellecheck on buffer" })

View File

@@ -37,8 +37,8 @@ vim.o.updatetime = 250
-- Decrease mapped sequence wait time
vim.o.timeoutlen = 300
-- Configure how new splits should be opened
-- vim.o.splitright = false
-- vim.o.splitbelow = true
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.list = true
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '' }
-- Preview substitutions live, as you type!

View File

@@ -5,20 +5,69 @@ return {
"nvim-treesitter/nvim-treesitter",
},
opts = {
interactions = {
display = {
chat = {
adapter = {
name = "gemini",
model = "gemini-3.5-flash",
window = {
layout = "vertical",
width = 0.35,
height = 0.35,
},
keymaps = {
close = {
modes = {
n = "q", -- Bind "q" in normal mode to close the chat
},
index = 1,
callback = "keymaps.close",
description = "Close Chat",
},
}
},
-- inline = { adapter = "gemini" },
-- cmd = { adapter = "gemini" },
},
interactions = {
chat = {
adapter = "gemini_pro", -- Removed the curly braces
},
inline = {
adapter = "gemini_flash", -- Removed the curly braces
},
},
background = {
adapter = {
name = "ollama",
model = "qwen-7b-instruct"
adapter = "ollama_bg", -- Pointed this to the new extended adapter string
},
adapters = {
http = {
gemini_pro = function()
return require("codecompanion.adapters").extend("gemini", {
name = "gemini_pro",
schema = {
model = {
default = "gemini-3.5-flash",
},
},
})
end,
gemini_flash = function()
return require("codecompanion.adapters").extend("gemini", {
name = "gemini_flash",
schema = {
model = {
default = "gemini-2.0-flash",
},
},
})
end,
-- Added an extended Ollama adapter to fix your background task
ollama_bg = function()
return require("codecompanion.adapters").extend("ollama", {
name = "ollama_bg",
schema = {
model = {
default = "qwen-7b-instruct",
},
},
})
end,
},
},
}

View File

@@ -1,7 +1,14 @@
return {
'chipsenkbeil/distant.nvim',
branch = 'v0.3',
config = function()
require('distant'):setup()
"amitds1997/remote-nvim.nvim",
version = "*", -- Pin to GitHub releases for stability
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim",
"MunifTanjim/nui.nvim",
},
config = function()
require("remote-nvim").setup({
ssh_config_file_paths = { vim.fn.expand("$HOME/.ssh/config") },
})
end
}
}