mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
44 lines
1 KiB
Nix
44 lines
1 KiB
Nix
{
|
|
lib,
|
|
helpers,
|
|
config,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.plugins.cmp-tabby;
|
|
in {
|
|
meta.maintainers = [maintainers.GaetanLepage];
|
|
|
|
options.plugins.cmp-tabby =
|
|
helpers.neovim-plugin.extraOptionsOptions
|
|
// {
|
|
host = helpers.defaultNullOpts.mkStr "http://localhost:5000" ''
|
|
The address 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})
|
|
'';
|
|
};
|
|
}
|