|
1 | 1 | local ok, avante_lib = pcall(require, "avante_lib") |
2 | 2 | if ok then |
3 | | - avante_lib.load() |
4 | | - require("avante").setup({provider = "gemini"}) |
| 3 | + avante_lib.load() |
| 4 | + require("avante").setup({ provider = "gemini-cli" }) |
| 5 | +end |
| 6 | + |
| 7 | +local ok, codecompanion = pcall(require, "codecompanion") |
| 8 | +if ok then |
| 9 | + codecompanion.setup({ |
| 10 | + strategies = { |
| 11 | + chat = { |
| 12 | + adapter = "gemini_cli", |
| 13 | + opts = { |
| 14 | + completion_provider = "coc", |
| 15 | + }, |
| 16 | + }, |
| 17 | + inline = { |
| 18 | + adapter = "gemini_cli", |
| 19 | + }, |
| 20 | + cmd = { |
| 21 | + adapter = "gemini_cli", |
| 22 | + }, |
| 23 | + }, |
| 24 | + adapters = { |
| 25 | + acp = { |
| 26 | + gemini_cli = function() |
| 27 | + return require("codecompanion.adapters").extend("gemini_cli", { |
| 28 | + defaults = { |
| 29 | + auth_method = "gemini-api-key", |
| 30 | + mcpServers = {}, |
| 31 | + timeout = 20000, -- 20 seconds |
| 32 | + }, |
| 33 | + }) |
| 34 | + end, |
| 35 | + }, |
| 36 | + }, |
| 37 | + }) |
| 38 | + vim.keymap.set("n", "<leader>zz", "<CMD>CodeCompanionChat Toggle<CR>", { |
| 39 | + desc = "ai: ch[a]t", |
| 40 | + }) |
| 41 | + vim.keymap.set("n", "<leader>zx", "<CMD>CodeCompanionActions<CR>", { |
| 42 | + desc = "ai: action[s]", |
| 43 | + }) |
| 44 | + vim.keymap.set("n", "<leader>zc", "<CMD>CodeCompanionCmd<CR>", { |
| 45 | + desc = "ai: cm[d]", |
| 46 | + }) |
| 47 | + vim.keymap.set({ "n", "v" }, "<leader>zv", "<CMD>CodeCompanion<CR>", { |
| 48 | + desc = "ai: [f]ile write with diff", |
| 49 | + }) |
5 | 50 | end |
6 | 51 |
|
7 | 52 | local ok, minuet = pcall(require, "minuet") |
8 | 53 | if ok then |
9 | | - minuet.setup({ |
10 | | - provider = "gemini", |
11 | | - provider_options = { |
12 | | - gemini = { |
13 | | - model = 'gemini-2.5-flash-lite' |
14 | | - } |
15 | | - }, |
16 | | - virtualtext = { |
17 | | - auto_trigger_ft = {}, |
18 | | - keymap = { |
19 | | - -- accept whole completion |
20 | | - accept = '<M-y>', |
21 | | - -- accept one line |
22 | | - accept_line = '<M-l>', |
23 | | - -- accept n lines (prompts for number) |
24 | | - -- e.g. "A-z 2 CR" will accept 2 lines |
25 | | - accept_n_lines = '<M-z>', |
26 | | - -- Cycle to prev completion item, or manually invoke completion |
27 | | - prev = '<M-p>', |
28 | | - -- Cycle to next completion item, or manually invoke completion |
29 | | - next = '<M-n>', |
30 | | - dismiss = '<M-e>', |
31 | | - }, |
32 | | - } |
33 | | - }) |
| 54 | + minuet.setup({ |
| 55 | + provider = "gemini", |
| 56 | + provider_options = { |
| 57 | + gemini = { |
| 58 | + model = "gemini-2.5-flash-lite", |
| 59 | + }, |
| 60 | + }, |
| 61 | + virtualtext = { |
| 62 | + auto_trigger_ft = {}, |
| 63 | + keymap = { |
| 64 | + -- accept whole completion |
| 65 | + accept = "<M-y>", |
| 66 | + -- accept one line |
| 67 | + accept_line = "<M-l>", |
| 68 | + -- accept n lines (prompts for number) |
| 69 | + -- e.g. "A-z 2 CR" will accept 2 lines |
| 70 | + accept_n_lines = "<M-z>", |
| 71 | + -- Cycle to prev completion item, or manually invoke completion |
| 72 | + prev = "<M-p>", |
| 73 | + -- Cycle to next completion item, or manually invoke completion |
| 74 | + next = "<M-n>", |
| 75 | + dismiss = "<M-e>", |
| 76 | + }, |
| 77 | + }, |
| 78 | + }) |
34 | 79 | end |
0 commit comments