dotfiles/home/dot_config/nvim/lua/plugins/codecompanion.lua
jay 45e1e6f235 feat(config): add ghostty terminal and refactor neovim configuration
- Add ghostty terminal configuration with custom themes and settings
- Add multiple color themes (ayu-dark, catppuccin variants, moonfly)
- Configure ghostty appearance: font, opacity, keybindings
- Refactor nvim basic setup to use modern vim.opt API
- Modernize LSP configuration with LspAttach autocmd
- Update nvim-tree configuration for latest API
- Simplify codecompanion plugin setup
- Pin nvim-treesitter to main branch
- Improve sway-dbus script with XDG runtime checks
2026-05-12 11:14:13 +08:00

82 lines
1.8 KiB
Lua

return {
"olimorris/codecompanion.nvim",
opts = {},
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
{
"MeanderingProgrammer/render-markdown.nvim",
ft = { "markdown", "codecompanion" }
},
{
"echasnovski/mini.diff",
config = function()
local diff = require("mini.diff")
diff.setup({
-- Disabled by default
source = diff.gen_source.none(),
})
end,
},
{
"HakonHarnes/img-clip.nvim",
opts = {
filetypes = {
codecompanion = {
prompt_for_file_name = false,
template = "[Image]($FILE_PATH)",
use_absolute_path = true,
},
},
},
},
},
config = function ()
local codecompanion = require("codecompanion")
codecompanion.setup({
ignore_warnings = true,
display = {
action_palette = {
width = 95,
height = 10,
prompt = "Prompt ",
provider = "default",
opts = {
show_default_actions = true,
show_default_prompt_library = true,
title = "CodeCompanion actions",
},
},
},
memory = {
opts = {
chat = { enabled = true, },
},
},
strategies = {
chat = {
adapter = "copilot",
},
inline = {
adapter = "copilot",
},
},
adapters = {
http = {
copilot = function()
return require('codecompanion.adapters').extend('copilot', {
schema = {
model = {
default = 'claude-sonnet-4.5',
-- default = 'claude-haiku-4.5',
},
},
})
end,
}
},
})
end,
}