mirror of
https://github.com/nix-community/nixvim.git
synced 2026-08-28 02:34:17 -05:00
61 lines
1.5 KiB
Nix
61 lines
1.5 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
lib.nixvim.plugins.mkNeovimPlugin {
|
|
name = "vectorcode";
|
|
package = "vectorcode-nvim";
|
|
description = "Code-aware local retrieval and completion integration for Neovim.";
|
|
callSetup = "optional";
|
|
|
|
maintainers = [ lib.maintainers.khaneliman ];
|
|
|
|
settingsExample = {
|
|
async_backend = "lsp";
|
|
n_query = 5;
|
|
sync_log_env_var = true;
|
|
};
|
|
|
|
dependencies = [
|
|
"vectorcode"
|
|
];
|
|
|
|
extraOptions = {
|
|
integrations.codecompanion = {
|
|
enable = lib.mkEnableOption "the vectorcode extension for CodeCompanion";
|
|
|
|
settings = lib.mkOption {
|
|
type = lib.nixvim.lua-types.tableOf lib.nixvim.lua-types.anything;
|
|
default = { };
|
|
example = {
|
|
tool_group.enabled = true;
|
|
tool_opts.query.max_num = {
|
|
chunk = -1;
|
|
document = -1;
|
|
};
|
|
};
|
|
description = ''
|
|
Options passed to CodeCompanion's vectorcode extension.
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
extraConfig = cfg: {
|
|
plugins.codecompanion.settings.extensions.vectorcode =
|
|
lib.mkIf cfg.integrations.codecompanion.enable
|
|
{
|
|
enabled = true;
|
|
opts = cfg.integrations.codecompanion.settings;
|
|
};
|
|
|
|
assertions = lib.nixvim.mkAssertions "plugins.vectorcode" {
|
|
assertion = cfg.integrations.codecompanion.enable -> config.plugins.codecompanion.enable;
|
|
message = ''
|
|
VectorCode's CodeCompanion integration requires `plugins.codecompanion.enable = true`.
|
|
'';
|
|
};
|
|
};
|
|
}
|