Files
lua-nvim/lua/cargdev/plugins/avante.lua
Carlos a7f6d3067b feat: restructure keymaps and fix Lua configuration
- Restructure keymaps into modular folder system
  - Create keymaps/ folder with organized files
  - Separate keymaps by category (general, personal, lsp, telescope, plugins)
  - Auto-loading system for better maintainability

- Fix Lua configuration issues
  - Add compatibility layer for deprecated APIs
  - Fix snacks.nvim configuration
  - Disable latex support in render-markdown
  - Improve LSP configuration

- Enhance function navigation
  - Restore and improve LSP keymaps
  - Add comprehensive Telescope integration
  - Fix conflicting keymaps

- Improve overall Neovim setup
  - Better options configuration
  - Enhanced plugin configurations
  - Cleaner code organization
2025-07-28 22:56:56 -04:00

86 lines
2.7 KiB
Lua

return {
{
"yetone/avante.nvim",
event = "VeryLazy",
lazy = false,
version = false, -- Always pull the latest change
opts = {
provider = "claude", -- API provider configuration
providers = {
claude = {
endpoint = "https://api.anthropic.com",
model = "claude-3-haiku-20240307",
timeout = 30000, -- Timeout in milliseconds
extra_request_body = {
temperature = 0.75,
max_tokens = 4096,
},
},
},
},
-- Optional: Build from source if required
build = "make",
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 = 1000,
config = function()
require("snacks").setup({
-- Enable all snacks modules
bigfile = { enabled = true },
dashboard = { enabled = true },
explorer = { enabled = true },
image = { enabled = true },
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 },
})
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
})
end,
},
},
},
}