127 lines
4.0 KiB
Lua
127 lines
4.0 KiB
Lua
require('avante').setup({
|
|
--provider = "openai",
|
|
--openai = {
|
|
--endpoint = "https://api.openai.com/v1",
|
|
--model = "gpt-4o", -- your desired model (or use gpt-4o, etc.)
|
|
--timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models
|
|
--temperature = 0,
|
|
--max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models)
|
|
----reasoning_effort = "medium", -- low|medium|high, only used for reasoning models
|
|
--},
|
|
provider = "claude",
|
|
mode = "agentic",
|
|
auto_suggestions_provider = "claude",
|
|
claude = {
|
|
endpoint = "https://api.anthropic.com",
|
|
model = "claude-3-7-sonnet-latest",
|
|
temperature = 0,
|
|
max_tokens = 4096,
|
|
},
|
|
dual_boost = {
|
|
enabled = false,
|
|
--first_provider = "openai",
|
|
--second_provider = "claude",
|
|
--prompt = "Based on the two reference outputs below, generate a response that incorporates elements from both but reflects your own judgment and unique perspective. Do not provide any explanation, just give the response directly. Reference Output 1: [{{provider1_output}}], Reference Output 2: [{{provider2_output}}]",
|
|
--timeout = 60000, -- in milliseconds
|
|
},
|
|
behaviour = {
|
|
--auto_suggestions = false,
|
|
--auto_set_highlight_group = true,
|
|
--auto_set_keymaps = true,
|
|
--auto_apply_diff_after_generation = false,
|
|
--support_paste_from_clipboard = false,
|
|
--minimize_diff = true, -- Whether to remove unchanged lines when applying a code block
|
|
--enable_token_counting = true, -- Whether to enable token counting. Default to true.
|
|
},
|
|
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>",
|
|
},
|
|
cancel = {
|
|
normal = { "<C-c>", "<Esc>", "q" },
|
|
insert = { "<C-c>" },
|
|
},
|
|
sidebar = {
|
|
apply_all = "A",
|
|
apply_cursor = "a",
|
|
retry_user_request = "r",
|
|
edit_user_request = "e",
|
|
switch_windows = "<Tab>",
|
|
reverse_switch_windows = "<S-Tab>",
|
|
remove_file = "d",
|
|
add_file = "@",
|
|
close = { "<Esc>", "q" },
|
|
close_from_input = nil, -- e.g., { normal = "<Esc>", insert = "<C-d>" }
|
|
},
|
|
},
|
|
hints = { enabled = true },
|
|
windows = {
|
|
---@type "right" | "left" | "top" | "bottom"
|
|
position = "right", -- the position of the sidebar
|
|
wrap = true, -- similar to vim.o.wrap
|
|
width = 30, -- default % based on available width
|
|
sidebar_header = {
|
|
enabled = true, -- true, false to enable/disable the header
|
|
align = "center", -- left, center, right for title
|
|
rounded = true,
|
|
},
|
|
input = {
|
|
prefix = "> ",
|
|
height = 8, -- Height of the input window in vertical layout
|
|
},
|
|
edit = {
|
|
border = "rounded",
|
|
start_insert = true, -- Start insert mode when opening the edit window
|
|
},
|
|
ask = {
|
|
floating = false, -- Open the 'AvanteAsk' prompt in a floating window
|
|
start_insert = true, -- Start insert mode when opening the ask window
|
|
border = "rounded",
|
|
---@type "ours" | "theirs"
|
|
focus_on_apply = "ours", -- which diff to focus after applying
|
|
},
|
|
},
|
|
highlights = {
|
|
---@type AvanteConflictHighlights
|
|
diff = {
|
|
current = "DiffText",
|
|
incoming = "DiffAdd",
|
|
},
|
|
},
|
|
--- @class AvanteConflictUserConfig
|
|
diff = {
|
|
autojump = true,
|
|
---@type string | fun(): any
|
|
list_opener = "copen",
|
|
--- Override the 'timeoutlen' setting while hovering over a diff (see :help timeoutlen).
|
|
--- Helps to avoid entering operator-pending mode with diff mappings starting with `c`.
|
|
--- Disable by setting to -1.
|
|
override_timeoutlen = 500,
|
|
},
|
|
suggestion = {
|
|
debounce = 600,
|
|
throttle = 600,
|
|
},
|
|
})
|