nix-community.nixvim/plugins/completion/cmp/sources/cmp-tabby.nix

45 lines
1 KiB
Nix
Raw Normal View History

2024-01-22 14:00:24 +01:00
{
lib,
helpers,
config,
...
}:
with lib; let
cfg = config.plugins.cmp-tabby;
in {
meta.maintainers = [maintainers.GaetanLepage];
options.plugins.cmp-tabby =
helpers.neovim-plugin.extraOptionsOptions
2024-01-22 14:00:24 +01:00
// {
host = helpers.defaultNullOpts.mkStr "http://localhost:5000" ''
The adress of the tabby host server.
'';
maxLines = helpers.defaultNullOpts.mkUnsignedInt 100 ''
The max number of lines to complete.
'';
runOnEveryKeyStroke = helpers.defaultNullOpts.mkBool true ''
Whether to run the completion on every keystroke.
'';
stop = helpers.defaultNullOpts.mkListOf types.str ''["\n"]'' "";
};
config = mkIf cfg.enable {
extraConfigLua = let
setupOptions = with cfg;
{
inherit host;
max_lines = maxLines;
run_on_every_keystroke = runOnEveryKeyStroke;
inherit stop;
}
// cfg.extraOptions;
in ''
require('cmp_tabby.config'):setup(${helpers.toLuaObject setupOptions})
'';
};
}