mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-24 17:58:38 +02:00
plugins/avante: init
This commit is contained in:
parent
c06d598315
commit
2c4e4681db
2 changed files with 286 additions and 0 deletions
86
plugins/by-name/avante/default.nix
Normal file
86
plugins/by-name/avante/default.nix
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib.nixvim) defaultNullOpts mkNullOrOption' toLuaObject;
|
||||||
|
in
|
||||||
|
lib.nixvim.neovim-plugin.mkNeovimPlugin {
|
||||||
|
name = "avante";
|
||||||
|
originalName = "avante.nvim";
|
||||||
|
package = "avante-nvim";
|
||||||
|
|
||||||
|
maintainers = [ lib.maintainers.GaetanLepage ];
|
||||||
|
|
||||||
|
settingsOptions = {
|
||||||
|
provider = defaultNullOpts.mkStr "claude" ''
|
||||||
|
The LLM provider (`"claude"`, `"openai"`, `"azure"`, ...)
|
||||||
|
'';
|
||||||
|
|
||||||
|
auto_suggestions_frequency = defaultNullOpts.mkStr "claude" ''
|
||||||
|
The provider for automatic suggestions.
|
||||||
|
|
||||||
|
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"`.
|
||||||
|
'';
|
||||||
|
|
||||||
|
mappings = mkNullOrOption' {
|
||||||
|
type = with lib.types; attrsOf (either str (attrsOf str));
|
||||||
|
example = {
|
||||||
|
diff = {
|
||||||
|
ours = "co";
|
||||||
|
theirs = "ct";
|
||||||
|
none = "c0";
|
||||||
|
both = "cb";
|
||||||
|
next = "]x";
|
||||||
|
prev = "[x";
|
||||||
|
};
|
||||||
|
jump = {
|
||||||
|
next = "]]";
|
||||||
|
prev = "[[";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
settingsExample = {
|
||||||
|
provider = "claude";
|
||||||
|
claude = {
|
||||||
|
endpoint = "https://api.anthropic.com";
|
||||||
|
model = "claude-3-5-sonnet-20240620";
|
||||||
|
temperature = 0;
|
||||||
|
max_tokens = 4096;
|
||||||
|
};
|
||||||
|
mappings = {
|
||||||
|
diff = {
|
||||||
|
ours = "co";
|
||||||
|
theirs = "ct";
|
||||||
|
none = "c0";
|
||||||
|
both = "cb";
|
||||||
|
next = "]x";
|
||||||
|
prev = "[x";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
hints.enabled = true;
|
||||||
|
windows = {
|
||||||
|
wrap = true;
|
||||||
|
width = 30;
|
||||||
|
sidebar_header = {
|
||||||
|
align = "center";
|
||||||
|
rounded = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
highlights.diff = {
|
||||||
|
current = "DiffText";
|
||||||
|
incoming = "DiffAdd";
|
||||||
|
};
|
||||||
|
diff = {
|
||||||
|
debug = false;
|
||||||
|
autojump = true;
|
||||||
|
list_opener = "copen";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = _: {
|
||||||
|
plugins.avante.luaConfig.pre = ''
|
||||||
|
require('avante_lib').load()
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
200
tests/test-sources/plugins/by-name/avante/default.nix
Normal file
200
tests/test-sources/plugins/by-name/avante/default.nix
Normal file
|
@ -0,0 +1,200 @@
|
||||||
|
{
|
||||||
|
empty = {
|
||||||
|
plugins.avante.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
defaults = {
|
||||||
|
plugins.avante = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
debug = false;
|
||||||
|
provider = "claude";
|
||||||
|
auto_suggestions_provider = "claude";
|
||||||
|
tokenizer = "tiktoken";
|
||||||
|
system_prompt = ''
|
||||||
|
You are an excellent programming expert.
|
||||||
|
'';
|
||||||
|
openai = {
|
||||||
|
endpoint = "https://api.openai.com/v1";
|
||||||
|
model = "gpt-4o";
|
||||||
|
timeout = 30000;
|
||||||
|
temperature = 0;
|
||||||
|
max_tokens = 4096;
|
||||||
|
local = false;
|
||||||
|
};
|
||||||
|
copilot = {
|
||||||
|
endpoint = "https://api.githubcopilot.com";
|
||||||
|
model = "gpt-4o-2024-05-13";
|
||||||
|
proxy = null;
|
||||||
|
allow_insecure = false;
|
||||||
|
timeout = 30000;
|
||||||
|
temperature = 0;
|
||||||
|
max_tokens = 4096;
|
||||||
|
};
|
||||||
|
azure = {
|
||||||
|
endpoint = "";
|
||||||
|
deployment = "";
|
||||||
|
api_version = "2024-06-01";
|
||||||
|
timeout = 30000;
|
||||||
|
temperature = 0;
|
||||||
|
max_tokens = 4096;
|
||||||
|
local = false;
|
||||||
|
};
|
||||||
|
claude = {
|
||||||
|
endpoint = "https://api.anthropic.com";
|
||||||
|
model = "claude-3-5-sonnet-20240620";
|
||||||
|
timeout = 30000;
|
||||||
|
temperature = 0;
|
||||||
|
max_tokens = 8000;
|
||||||
|
local = false;
|
||||||
|
};
|
||||||
|
gemini = {
|
||||||
|
endpoint = "https://generativelanguage.googleapis.com/v1beta/models";
|
||||||
|
model = "gemini-1.5-flash-latest";
|
||||||
|
timeout = 30000;
|
||||||
|
temperature = 0;
|
||||||
|
max_tokens = 4096;
|
||||||
|
local = false;
|
||||||
|
};
|
||||||
|
cohere = {
|
||||||
|
endpoint = "https://api.cohere.com/v1";
|
||||||
|
model = "command-r-plus-08-2024";
|
||||||
|
timeout = 30000;
|
||||||
|
temperature = 0;
|
||||||
|
max_tokens = 4096;
|
||||||
|
local = false;
|
||||||
|
};
|
||||||
|
vendors = { };
|
||||||
|
behaviour = {
|
||||||
|
auto_suggestions = false;
|
||||||
|
auto_set_highlight_group = true;
|
||||||
|
auto_set_keymaps = true;
|
||||||
|
auto_apply_diff_after_generation = false;
|
||||||
|
support_paste_from_clipboard = false;
|
||||||
|
};
|
||||||
|
history = {
|
||||||
|
storage_path.__raw = "vim.fn.stdpath('state') .. '/avante'";
|
||||||
|
paste = {
|
||||||
|
extension = "png";
|
||||||
|
filename = "pasted-%Y-%m-%d-%H-%M-%S";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
highlights = {
|
||||||
|
diff = {
|
||||||
|
current = "DiffText";
|
||||||
|
incoming = "DiffAdd";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
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>";
|
||||||
|
};
|
||||||
|
ask = "<leader>aa";
|
||||||
|
edit = "<leader>ae";
|
||||||
|
refresh = "<leader>ar";
|
||||||
|
toggle = {
|
||||||
|
default = "<leader>at";
|
||||||
|
debug = "<leader>ad";
|
||||||
|
hint = "<leader>ah";
|
||||||
|
suggestion = "<leader>as";
|
||||||
|
};
|
||||||
|
sidebar = {
|
||||||
|
switch_windows = "<Tab>";
|
||||||
|
reverse_switch_windows = "<S-Tab>";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
windows = {
|
||||||
|
position = "right";
|
||||||
|
wrap = true;
|
||||||
|
width = 30;
|
||||||
|
height = 30;
|
||||||
|
sidebar_header = {
|
||||||
|
align = "center";
|
||||||
|
rounded = true;
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
prefix = "> ";
|
||||||
|
};
|
||||||
|
edit = {
|
||||||
|
border = "rounded";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
diff = {
|
||||||
|
autojump = true;
|
||||||
|
};
|
||||||
|
hints = {
|
||||||
|
enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
example = {
|
||||||
|
plugins.avante = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
provider = "claude";
|
||||||
|
claude = {
|
||||||
|
endpoint = "https://api.anthropic.com";
|
||||||
|
model = "claude-3-5-sonnet-20240620";
|
||||||
|
temperature = 0;
|
||||||
|
max_tokens = 4096;
|
||||||
|
};
|
||||||
|
mappings = {
|
||||||
|
diff = {
|
||||||
|
ours = "co";
|
||||||
|
theirs = "ct";
|
||||||
|
none = "c0";
|
||||||
|
both = "cb";
|
||||||
|
next = "]x";
|
||||||
|
prev = "[x";
|
||||||
|
};
|
||||||
|
jump = {
|
||||||
|
next = "]]";
|
||||||
|
prev = "[[";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
hints.enabled = true;
|
||||||
|
windows = {
|
||||||
|
wrap = true;
|
||||||
|
width = 30;
|
||||||
|
sidebar_header = {
|
||||||
|
align = "center";
|
||||||
|
rounded = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
highlights.diff = {
|
||||||
|
current = "DiffText";
|
||||||
|
incoming = "DiffAdd";
|
||||||
|
};
|
||||||
|
diff = {
|
||||||
|
debug = false;
|
||||||
|
autojump = true;
|
||||||
|
list_opener = "copen";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue