mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-30 15:44:41 +02:00
plugins/cmp: remove helpers
This commit is contained in:
parent
62b87e5b56
commit
08cac4a5c0
12 changed files with 113 additions and 112 deletions
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
lib,
|
||||
helpers,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
@ -15,7 +14,7 @@
|
|||
imports ? [ ],
|
||||
...
|
||||
}@args:
|
||||
helpers.vim-plugin.mkVimPlugin (
|
||||
lib.nixvim.vim-plugin.mkVimPlugin (
|
||||
builtins.removeAttrs args [
|
||||
"pluginName"
|
||||
"sourceName"
|
||||
|
|
|
@ -1,45 +1,46 @@
|
|||
{
|
||||
lib,
|
||||
helpers,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.nixvim) defaultNullOpts;
|
||||
|
||||
cfg = config.plugins.cmp-ai;
|
||||
in
|
||||
{
|
||||
meta.maintainers = [ lib.maintainers.GaetanLepage ];
|
||||
|
||||
options.plugins.cmp-ai = {
|
||||
settings = helpers.mkSettingsOption {
|
||||
settings = lib.nixvim.mkSettingsOption {
|
||||
description = "Options provided to the `require('cmp_ai.config'):setup` function.";
|
||||
|
||||
options = {
|
||||
max_lines = helpers.defaultNullOpts.mkUnsignedInt 50 ''
|
||||
max_lines = defaultNullOpts.mkUnsignedInt 50 ''
|
||||
How many lines of buffer context to use.
|
||||
'';
|
||||
|
||||
run_on_every_keystroke = helpers.defaultNullOpts.mkBool true ''
|
||||
run_on_every_keystroke = defaultNullOpts.mkBool true ''
|
||||
Generate new completion items on every keystroke.
|
||||
'';
|
||||
|
||||
provider = helpers.defaultNullOpts.mkStr "HF" ''
|
||||
provider = defaultNullOpts.mkStr "HF" ''
|
||||
Which AI provider to use.
|
||||
|
||||
Check the [README](https://github.com/tzachar/cmp-ai/blob/main/README.md) to learn about
|
||||
available options.
|
||||
'';
|
||||
|
||||
provider_options = helpers.defaultNullOpts.mkAttrsOf lib.types.anything { } ''
|
||||
provider_options = defaultNullOpts.mkAttrsOf lib.types.anything { } ''
|
||||
Options to forward to the provider.
|
||||
'';
|
||||
|
||||
notify = helpers.defaultNullOpts.mkBool true ''
|
||||
notify = defaultNullOpts.mkBool true ''
|
||||
As some completion sources can be quit slow, setting this to `true` will trigger a
|
||||
notification when a completion starts and ends using `vim.notify`.
|
||||
'';
|
||||
|
||||
notify_callback = helpers.defaultNullOpts.mkLuaFn' {
|
||||
notify_callback = defaultNullOpts.mkLuaFn' {
|
||||
description = ''
|
||||
The default notify function uses `vim.notify`, but an override can be configured.
|
||||
'';
|
||||
|
@ -58,7 +59,7 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
ignored_file_types = helpers.defaultNullOpts.mkAttrsOf' {
|
||||
ignored_file_types = defaultNullOpts.mkAttrsOf' {
|
||||
type = lib.types.bool;
|
||||
description = "Which filetypes to ignore.";
|
||||
pluginDefault = { };
|
||||
|
@ -88,7 +89,7 @@ in
|
|||
|
||||
config = lib.mkIf cfg.enable {
|
||||
extraConfigLua = ''
|
||||
require('cmp_ai.config'):setup(${helpers.toLuaObject cfg.settings})
|
||||
require('cmp_ai.config'):setup(${lib.nixvim.toLuaObject cfg.settings})
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,40 +1,41 @@
|
|||
{
|
||||
lib,
|
||||
helpers,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) types;
|
||||
inherit (lib.nixvim) defaultNullOpts;
|
||||
|
||||
cfg = config.plugins.cmp-git;
|
||||
|
||||
mkAction =
|
||||
action: target:
|
||||
helpers.defaultNullOpts.mkLuaFn "require('cmp_git.${action}').git.${target}" ''
|
||||
defaultNullOpts.mkLuaFn "require('cmp_git.${action}').git.${target}" ''
|
||||
Function used to ${action} the ${lib.replaceStrings [ "_" ] [ " " ] target}.
|
||||
'';
|
||||
in
|
||||
{
|
||||
options.plugins.cmp-git.settings = helpers.mkSettingsOption {
|
||||
options.plugins.cmp-git.settings = lib.nixvim.mkSettingsOption {
|
||||
description = "Options provided to the `require('cmp_git').setup` function.";
|
||||
options = {
|
||||
filetypes = helpers.defaultNullOpts.mkListOf types.str [
|
||||
filetypes = defaultNullOpts.mkListOf types.str [
|
||||
"gitcommit"
|
||||
"octo"
|
||||
] "Filetypes for which to trigger.";
|
||||
|
||||
remotes = helpers.defaultNullOpts.mkListOf types.str [
|
||||
remotes = defaultNullOpts.mkListOf types.str [
|
||||
"upstream"
|
||||
"origin"
|
||||
] "List of git remotes.";
|
||||
|
||||
enableRemoteUrlRewrites = helpers.defaultNullOpts.mkBool false ''
|
||||
enableRemoteUrlRewrites = defaultNullOpts.mkBool false ''
|
||||
Whether to enable remote URL rewrites.
|
||||
'';
|
||||
|
||||
git = {
|
||||
commits = {
|
||||
limit = helpers.defaultNullOpts.mkUnsignedInt 100 ''
|
||||
limit = defaultNullOpts.mkUnsignedInt 100 ''
|
||||
Max number of git commits to fetch.
|
||||
'';
|
||||
|
||||
|
@ -44,12 +45,12 @@ in
|
|||
};
|
||||
|
||||
github = {
|
||||
hosts = helpers.defaultNullOpts.mkListOf types.str [ ] ''
|
||||
hosts = defaultNullOpts.mkListOf types.str [ ] ''
|
||||
List of private instances of github.
|
||||
'';
|
||||
|
||||
issues = {
|
||||
fields = helpers.defaultNullOpts.mkListOf types.str [
|
||||
fields = defaultNullOpts.mkListOf types.str [
|
||||
"title"
|
||||
"number"
|
||||
"body"
|
||||
|
@ -57,15 +58,15 @@ in
|
|||
"state"
|
||||
] "The fields used for issues.";
|
||||
|
||||
filter = helpers.defaultNullOpts.mkStr "all" ''
|
||||
filter = defaultNullOpts.mkStr "all" ''
|
||||
The filter to use when fetching issues.
|
||||
'';
|
||||
|
||||
limit = helpers.defaultNullOpts.mkUnsignedInt 100 ''
|
||||
limit = defaultNullOpts.mkUnsignedInt 100 ''
|
||||
Max number of issues to fetch.
|
||||
'';
|
||||
|
||||
state = helpers.defaultNullOpts.mkStr "open" ''
|
||||
state = defaultNullOpts.mkStr "open" ''
|
||||
Which issues to fetch (`"open"`, `"closed"` or `"all"`).
|
||||
'';
|
||||
|
||||
|
@ -74,7 +75,7 @@ in
|
|||
};
|
||||
|
||||
mentions = {
|
||||
limit = helpers.defaultNullOpts.mkUnsignedInt 100 ''
|
||||
limit = defaultNullOpts.mkUnsignedInt 100 ''
|
||||
Max number of mentions to fetch.
|
||||
'';
|
||||
|
||||
|
@ -83,7 +84,7 @@ in
|
|||
};
|
||||
|
||||
pull_requests = {
|
||||
fields = helpers.defaultNullOpts.mkListOf types.str [
|
||||
fields = defaultNullOpts.mkListOf types.str [
|
||||
"title"
|
||||
"number"
|
||||
"body"
|
||||
|
@ -91,11 +92,11 @@ in
|
|||
"state"
|
||||
] "The fields used for pull requests.";
|
||||
|
||||
limit = helpers.defaultNullOpts.mkUnsignedInt 100 ''
|
||||
limit = defaultNullOpts.mkUnsignedInt 100 ''
|
||||
Max number of pull requests to fetch.
|
||||
'';
|
||||
|
||||
state = helpers.defaultNullOpts.mkStr "open" ''
|
||||
state = defaultNullOpts.mkStr "open" ''
|
||||
Which issues to fetch (`"open"`, `"closed"`, `"merged"` or `"all"`).
|
||||
'';
|
||||
|
||||
|
@ -105,16 +106,16 @@ in
|
|||
};
|
||||
|
||||
gitlab = {
|
||||
hosts = helpers.defaultNullOpts.mkListOf types.str [ ] ''
|
||||
hosts = defaultNullOpts.mkListOf types.str [ ] ''
|
||||
List of private instances of gitlab.
|
||||
'';
|
||||
|
||||
issues = {
|
||||
limit = helpers.defaultNullOpts.mkUnsignedInt 100 ''
|
||||
limit = defaultNullOpts.mkUnsignedInt 100 ''
|
||||
Max number of issues to fetch.
|
||||
'';
|
||||
|
||||
state = helpers.defaultNullOpts.mkStr "open" ''
|
||||
state = defaultNullOpts.mkStr "open" ''
|
||||
Which issues to fetch (`"open"`, `"closed"` or `"all"`).
|
||||
'';
|
||||
|
||||
|
@ -123,7 +124,7 @@ in
|
|||
};
|
||||
|
||||
mentions = {
|
||||
limit = helpers.defaultNullOpts.mkUnsignedInt 100 ''
|
||||
limit = defaultNullOpts.mkUnsignedInt 100 ''
|
||||
Max number of mentions to fetch.
|
||||
'';
|
||||
|
||||
|
@ -132,11 +133,11 @@ in
|
|||
};
|
||||
|
||||
merge_requests = {
|
||||
limit = helpers.defaultNullOpts.mkUnsignedInt 100 ''
|
||||
limit = defaultNullOpts.mkUnsignedInt 100 ''
|
||||
Max number of merge requests to fetch.
|
||||
'';
|
||||
|
||||
state = helpers.defaultNullOpts.mkStr "open" ''
|
||||
state = defaultNullOpts.mkStr "open" ''
|
||||
Which issues to fetch (`"open"`, `"closed"`, `"locked"` or `"merged"`).
|
||||
'';
|
||||
|
||||
|
@ -146,10 +147,10 @@ in
|
|||
};
|
||||
|
||||
trigger_actions =
|
||||
helpers.defaultNullOpts.mkListOf
|
||||
defaultNullOpts.mkListOf
|
||||
(types.submodule {
|
||||
options = {
|
||||
debug_name = helpers.mkNullOrStr "Debug name.";
|
||||
debug_name = lib.nixvim.mkNullOrStr "Debug name.";
|
||||
|
||||
trigger_character = lib.mkOption {
|
||||
type = types.str;
|
||||
|
@ -291,7 +292,7 @@ in
|
|||
|
||||
config = lib.mkIf cfg.enable {
|
||||
extraConfigLua = ''
|
||||
require('cmp_git').setup(${helpers.toLuaObject cfg.settings})
|
||||
require('cmp_git').setup(${lib.nixvim.toLuaObject cfg.settings})
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{
|
||||
lib,
|
||||
helpers,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkRenamedOptionModule types;
|
||||
inherit (lib.nixvim) defaultNullOpts;
|
||||
|
||||
cfg = config.plugins.cmp-tabby;
|
||||
in
|
||||
{
|
||||
|
@ -31,23 +32,23 @@ in
|
|||
];
|
||||
|
||||
options.plugins.cmp-tabby = {
|
||||
settings = helpers.mkSettingsOption {
|
||||
settings = lib.nixvim.mkSettingsOption {
|
||||
description = "Options provided to the `require('cmp_ai.config'):setup` function.";
|
||||
|
||||
options = {
|
||||
host = helpers.defaultNullOpts.mkStr "http://localhost:5000" ''
|
||||
host = defaultNullOpts.mkStr "http://localhost:5000" ''
|
||||
The address of the tabby host server.
|
||||
'';
|
||||
|
||||
max_lines = helpers.defaultNullOpts.mkUnsignedInt 100 ''
|
||||
max_lines = defaultNullOpts.mkUnsignedInt 100 ''
|
||||
The max number of lines to complete.
|
||||
'';
|
||||
|
||||
run_on_every_keystroke = helpers.defaultNullOpts.mkBool true ''
|
||||
run_on_every_keystroke = defaultNullOpts.mkBool true ''
|
||||
Whether to run the completion on every keystroke.
|
||||
'';
|
||||
|
||||
stop = helpers.defaultNullOpts.mkListOf types.str [ "\n" ] ''
|
||||
stop = defaultNullOpts.mkListOf types.str [ "\n" ] ''
|
||||
Stop character.
|
||||
'';
|
||||
};
|
||||
|
@ -63,7 +64,7 @@ in
|
|||
|
||||
config = lib.mkIf cfg.enable {
|
||||
extraConfigLua = ''
|
||||
require('cmp_tabby.config'):setup(${helpers.toLuaObject cfg.settings})
|
||||
require('cmp_tabby.config'):setup(${lib.nixvim.toLuaObject cfg.settings})
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
lib,
|
||||
helpers,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
@ -8,11 +7,11 @@ let
|
|||
cfg = config.plugins.cmp-tabnine;
|
||||
in
|
||||
{
|
||||
options.plugins.cmp-tabnine = helpers.neovim-plugin.extraOptionsOptions;
|
||||
options.plugins.cmp-tabnine = lib.nixvim.neovim-plugin.extraOptionsOptions;
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
extraConfigLua = ''
|
||||
require('cmp_tabnine.config'):setup(${helpers.toLuaObject cfg.extraOptions})
|
||||
require('cmp_tabnine.config'):setup(${lib.nixvim.toLuaObject cfg.extraOptions})
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
{
|
||||
lib,
|
||||
helpers,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.nixvim) defaultNullOpts;
|
||||
|
||||
copilot-lua-cfg = config.plugins.copilot-lua;
|
||||
cfg = config.plugins.copilot-cmp;
|
||||
in
|
||||
{
|
||||
options.plugins.copilot-cmp = helpers.neovim-plugin.extraOptionsOptions // {
|
||||
options.plugins.copilot-cmp = lib.nixvim.neovim-plugin.extraOptionsOptions // {
|
||||
event =
|
||||
helpers.defaultNullOpts.mkListOf lib.types.str
|
||||
defaultNullOpts.mkListOf lib.types.str
|
||||
[
|
||||
"InsertEnter"
|
||||
"LspAttach"
|
||||
|
@ -22,7 +23,7 @@ in
|
|||
to touch this.
|
||||
'';
|
||||
|
||||
fixPairs = helpers.defaultNullOpts.mkBool true ''
|
||||
fixPairs = defaultNullOpts.mkBool true ''
|
||||
Suppose you have the following code: `print('h')`.
|
||||
Copilot might try to account for the `'` and `)` and complete it with this: `print('hello`.
|
||||
|
||||
|
@ -60,7 +61,7 @@ in
|
|||
// cfg.extraOptions;
|
||||
in
|
||||
''
|
||||
require('copilot_cmp').setup(${helpers.toLuaObject setupOptions})
|
||||
require('copilot_cmp').setup(${lib.nixvim.toLuaObject setupOptions})
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
lib,
|
||||
helpers,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
@ -8,11 +7,11 @@ let
|
|||
cfg = config.plugins.crates-nvim;
|
||||
in
|
||||
{
|
||||
options.plugins.crates-nvim = helpers.neovim-plugin.extraOptionsOptions;
|
||||
options.plugins.crates-nvim = lib.nixvim.neovim-plugin.extraOptionsOptions;
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
extraConfigLua = ''
|
||||
require('crates').setup(${helpers.toLuaObject cfg.extraOptions})
|
||||
require('crates').setup(${lib.nixvim.toLuaObject cfg.extraOptions})
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue