Files
lua-nvim/lua/cargdev/plugins/avante.lua
Carlos Gutierrez 537c0c4a41 fix(config): resolve health check warnings and update docs
- Fix auto-session lazy loading to enable session restore
- Fix alpha.lua `enable` → `enabled` typo
- Disable Snacks.dashboard to prevent conflict with alpha-nvim
- Add Avante.nvim to README AI assistants section
- Install bash treesitter parser for noice cmdline highlighting
- Update changelog with fixes
2026-01-10 22:58:23 -05:00

129 lines
5.1 KiB
Lua

return {
{
dir = "/Users/carlos/Documents/projects/avante.nvim",
-- "yetone/avante.nvim",
event = "VeryLazy",
lazy = false,
version = false, -- Always pull the latest change
build = "make", -- This will build on first load
opts = {
provider = "cargdev", -- API provider configuration
mode = "agentic", -- Enable agentic mode for tool support
debug = true, -- Enable debug logging to troubleshoot tools
providers = {
cargdev = {
name = "cargdev", -- Optional
endpoint = "http://localhost:5001", -- endpoint = "https://api-ai.cargdev.io", -- API endpoint
api_key_name = "CARGDEV_API_KEY", -- reference the ENV VAR below
model = "qwen2.5-coder:7b",
__inherited_from = "ollama", -- ensures compatibility
max_tokens = 8192,
-- Explicitly ensure tools are enabled
disable_tools = false,
-- Tool format: false = function calling (JSON tools in request), true = XML tool format (tools in prompt)
use_ReAct_prompt = false, -- Use function calling format (OpenAI-compatible)
},
},
},
-- Build from source for development
-- Run `make BUILD_FROM_SOURCE=true` to build Rust components
-- You can also build manually: cd /Users/carlos/Documents/projects/avante.nvim && make
build = "make BUILD_FROM_SOURCE=true",
dependencies = {
"nvim-treesitter/nvim-treesitter",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
"echasnovski/mini.pick", -- for file_selector provider mini.pick
"nvim-telescope/telescope.nvim", -- for file_selector provider telescope
"hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
"ibhagwan/fzf-lua", -- for file_selector provider fzf
"stevearc/dressing.nvim", -- for input provider dressing
{
"folke/snacks.nvim", -- for input provider snacks
lazy = false,
priority = 1001, -- Higher than dressing to override it
dependencies = {
"stevearc/dressing.nvim", -- Load after dressing to override it
},
config = function()
require("snacks").setup({
-- Enable all snacks modules
bigfile = { enabled = true },
dashboard = {
enabled = false, -- Disabled: using alpha-nvim for CARGDEV branding
},
explorer = { enabled = true },
image = {
enabled = true,
-- Auto-detect terminal (will try: kitty, wezterm, ghostty in order)
-- If none found, image rendering will be disabled with warnings
-- Note: LaTeX and Mermaid features require external tools:
-- - LaTeX: tectonic or pdflatex
-- - Mermaid: mmdc (Mermaid CLI)
-- These warnings are informational and won't prevent basic image rendering
terminal = nil, -- nil = auto-detect
},
input = { enabled = true },
lazygit = { enabled = true },
notifier = { enabled = true },
picker = { enabled = true },
quickfile = { enabled = true },
scope = { enabled = true },
scroll = { enabled = true },
statuscolumn = { enabled = true },
terminal = { enabled = true },
toggle = { enabled = true },
words = {
enabled = true,
lsp = { enabled = false }, -- Disable LSP to prevent crashes
hl = { enabled = true },
},
})
-- Set up vim.ui.input and vim.ui.select for snacks
-- Use vim.schedule to ensure this runs after all plugins are loaded
vim.schedule(function()
vim.ui.input = require("snacks.input").input
vim.ui.select = require("snacks.picker").select
end)
end,
},
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
{
"HakonHarnes/img-clip.nvim", -- Image pasting support
event = "VeryLazy",
opts = {
-- Recommended settings
default = {
embed_image_as_base64 = false,
prompt_for_file_name = false,
drag_and_drop = {
insert_mode = true,
},
use_absolute_path = true, -- For Windows users
},
},
},
{
"MeanderingProgrammer/render-markdown.nvim",
ft = { "markdown", "Avante" },
config = function()
require("render-markdown").setup({
file_types = { "markdown", "Avante" },
latex = { enabled = false }, -- Disable latex to avoid warning
html = { enabled = false }, -- Disable html support to avoid warnings
yaml = { enabled = false }, -- Disable yaml support to avoid warnings
})
-- Enable treesitter highlighter for markdown buffers
vim.api.nvim_create_autocmd("FileType", {
pattern = { "markdown", "Avante" },
callback = function()
vim.treesitter.start()
end,
})
end,
},
},
},
}