refactor(core): simplify session management and add Avante plugin
This commit is contained in:
1 parent
e4c3e21d9b
commit
a1907c44c8
2 files changed
+785
-713
No files matched your search
+664
-713
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,121 @@
|
|||||||
|
--- Avante.nvim - AI pair programming assistant
|
||||||
|
--- @module plugins.avante
|
||||||
|
return {
|
||||||
|
"yetone/avante.nvim",
|
||||||
|
-- if you want to build from source then do `make BUILD_FROM_SOURCE=true`
|
||||||
|
-- ⚠️ must add this setting! ! !
|
||||||
|
build = vim.fn.has("win32") ~= 0
|
||||||
|
and "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false"
|
||||||
|
or "make",
|
||||||
|
event = "VeryLazy",
|
||||||
|
version = false, -- Never set this value to "*"! Never!
|
||||||
|
---@module 'avante'
|
||||||
|
---@type avante.Config
|
||||||
|
opts = {
|
||||||
|
-- add any opts here
|
||||||
|
-- this file can contain specific instructions for your project
|
||||||
|
instructions_file = "avante.md",
|
||||||
|
-- for example
|
||||||
|
provider = "claude",
|
||||||
|
providers = {
|
||||||
|
claude = {
|
||||||
|
endpoint = "https://api.anthropic.com",
|
||||||
|
model = "claude-sonnet-4-20250514",
|
||||||
|
timeout = 30000, -- Timeout in milliseconds
|
||||||
|
extra_request_body = {
|
||||||
|
temperature = 0.75,
|
||||||
|
max_tokens = 20480,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
moonshot = {
|
||||||
|
endpoint = "https://api.moonshot.ai/v1",
|
||||||
|
model = "kimi-k2-0711-preview",
|
||||||
|
timeout = 30000, -- Timeout in milliseconds
|
||||||
|
extra_request_body = {
|
||||||
|
temperature = 0.75,
|
||||||
|
max_tokens = 32768,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- Keybindings for navigation within Avante windows
|
||||||
|
mappings = {
|
||||||
|
--- @class AvanteConflictMappings
|
||||||
|
diff = {
|
||||||
|
ours = "co",
|
||||||
|
theirs = "ct",
|
||||||
|
all_theirs = "ca",
|
||||||
|
both = "cb",
|
||||||
|
cursor = "cc",
|
||||||
|
next = "]x",
|
||||||
|
prev = "[x",
|
||||||
|
},
|
||||||
|
suggestion = {
|
||||||
|
accept = "<M-l>",
|
||||||
|
next = "<M-]>",
|
||||||
|
prev = "<M-[>",
|
||||||
|
dismiss = "<C-]>",
|
||||||
|
},
|
||||||
|
jump = {
|
||||||
|
next = "]]",
|
||||||
|
prev = "[[",
|
||||||
|
},
|
||||||
|
submit = {
|
||||||
|
normal = "<CR>",
|
||||||
|
insert = "<C-s>",
|
||||||
|
},
|
||||||
|
sidebar = {
|
||||||
|
apply_all = "A",
|
||||||
|
apply_cursor = "a",
|
||||||
|
switch_windows = "<Tab>",
|
||||||
|
reverse_switch_windows = "<S-Tab>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
windows = {
|
||||||
|
position = "right", -- the position of the sidebar
|
||||||
|
wrap = true, -- similar to vim.o.wrap
|
||||||
|
width = 30, -- default % based on available width
|
||||||
|
sidebar_header = {
|
||||||
|
align = "center", -- left, center, right for title
|
||||||
|
rounded = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
--- The below dependencies are optional,
|
||||||
|
"nvim-mini/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
|
||||||
|
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
|
||||||
|
"zbirenbaum/copilot.lua", -- for providers='copilot'
|
||||||
|
{
|
||||||
|
-- support for image pasting
|
||||||
|
"HakonHarnes/img-clip.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
-- recommended settings
|
||||||
|
default = {
|
||||||
|
embed_image_as_base64 = false,
|
||||||
|
prompt_for_file_name = false,
|
||||||
|
drag_and_drop = {
|
||||||
|
insert_mode = true,
|
||||||
|
},
|
||||||
|
-- required for Windows users
|
||||||
|
use_absolute_path = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
-- Make sure to set this up properly if you have lazy=true
|
||||||
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
|
opts = {
|
||||||
|
file_types = { "markdown", "Avante" },
|
||||||
|
},
|
||||||
|
ft = { "markdown", "Avante" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
Reference in new issue
Block a user