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 = "", next = "", prev = "", dismiss = "", }, jump = { next = "]]", prev = "[[", }, submit = { normal = "", insert = "", }, cancel = { normal = { "", "", "q" }, insert = { "" }, }, sidebar = { apply_all = "A", apply_cursor = "a", retry_user_request = "r", edit_user_request = "e", switch_windows = "", reverse_switch_windows = "", remove_file = "d", add_file = "@", close = { "", "q" }, close_from_input = nil, -- e.g., { normal = "", insert = "" } }, }, 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, }, })