LazyVim.LazyVim/lua/lazyvim/plugins/extras/ai/avante.lua

88 lines
2.5 KiB
Lua
Raw Normal View History

return {
{
"yetone/avante.nvim",
event = "VeryLazy",
dependencies = {
"stevearc/dressing.nvim",
2025-01-28 10:29:00 -03:00
"ibhagwan/fzf-lua",
},
opts = {
-- Default configuration
hints = { enabled = false },
---@alias AvanteProvider "claude" | "openai" | "azure" | "gemini" | "cohere" | "copilot" | string
provider = "claude", -- Recommend using Claude
auto_suggestions_provider = "claude", -- Since auto-suggestions are a high-frequency operation and therefore expensive, it is recommended to specify an inexpensive provider or even a free provider: copilot
claude = {
endpoint = "https://api.anthropic.com",
model = "claude-3-5-sonnet-20241022",
temperature = 0,
max_tokens = 4096,
},
-- File selector configuration
--- @alias FileSelectorProvider "native" | "fzf" | "mini.pick" | "snacks" | "telescope" | string
file_selector = {
provider = "fzf", -- Avoid native provider issues
provider_opts = {},
},
},
build = LazyVim.is_win() and "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" or "make",
},
2025-01-28 10:29:00 -03:00
{
"saghen/blink.cmp",
lazy = true,
2025-01-28 10:29:00 -03:00
dependencies = { "saghen/blink.compat" },
opts = {
sources = {
default = { "avante_commands", "avante_mentions", "avante_files" },
compat = {
"avante_commands",
"avante_mentions",
"avante_files",
},
-- LSP score_offset is typically 60
providers = {
avante_commands = {
name = "avante_commands",
module = "blink.compat.source",
score_offset = 90,
opts = {},
},
avante_files = {
name = "avante_files",
module = "blink.compat.source",
score_offset = 100,
opts = {},
},
avante_mentions = {
name = "avante_mentions",
module = "blink.compat.source",
score_offset = 1000,
opts = {},
},
},
},
},
},
{
"MeanderingProgrammer/render-markdown.nvim",
optional = true,
ft = function(_, ft)
vim.list_extend(ft, { "Avante" })
end,
opts = function(_, opts)
opts.file_types = vim.list_extend(opts.file_types or {}, { "Avante" })
end,
},
{
"folke/which-key.nvim",
optional = true,
opts = {
spec = {
{ "<leader>a", group = "ai" },
},
},
},
}