config/nvim/lua/plugins/avante.lua (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
return { 'yetone/avante.nvim', event = 'VeryLazy', lazy = false, version = false, -- set this if you want to always pull the latest change opts = { -- add any opts here }, -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` build = 'make', -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows dependencies = { 'stevearc/dressing.nvim', 'nvim-lua/plenary.nvim', 'MunifTanjim/nui.nvim', --- The below dependencies are optional, 'nvim-tree/nvim-web-devicons', -- or echasnovski/mini.icons { -- 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' }, }, }, config = function() require('avante').setup { provider = 'claude', -- Recommend using Claude auto_suggestions_provider = 'claude', -- Since auto-suggestions are a high-frequency operation and therefore expensive, it is recommended to specify an inexpensive provider or even a free provider: copilot claude = { endpoint = 'https://api.anthropic.com', model = 'claude-3-5-sonnet-20240620', temperature = 0, max_tokens = 4096, }, behaviour = { auto_suggestions = false, -- Experimental stage auto_set_highlight_group = true, auto_set_keymaps = true, auto_apply_diff_after_generation = false, support_paste_from_clipboard = false, }, mappings = { 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>', }, }, hints = { enabled = false }, 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 = { align = 'center', -- left, center, right for title rounded = true, }, }, highlights = { ---@type AvanteConflictHighlights diff = { current = 'DiffText', incoming = 'DiffAdd', }, }, --- @class AvanteConflictUserConfig diff = { autojump = true, ---@type string | fun(): any list_opener = 'copen', }, } end, } |