mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-22 13:20:44 +00:00
internal: add customizable plugin setup option
This commit is contained in:
parent
a35eab716a
commit
59b2e6b17c
2 changed files with 22 additions and 1 deletions
|
@ -4,6 +4,6 @@
|
|||
typesLanguage = import ./languages.nix {inherit lib;};
|
||||
in {
|
||||
inherit (typesDag) dagOf;
|
||||
inherit (typesPlugin) pluginsOpt extraPluginType;
|
||||
inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption;
|
||||
inherit (typesLanguage) diagnostics mkGrammarOption;
|
||||
}
|
||||
|
|
|
@ -138,4 +138,25 @@ in {
|
|||
inherit description default;
|
||||
type = pluginsType;
|
||||
};
|
||||
|
||||
# opts is a attrset of options, example:
|
||||
# ```
|
||||
# mkPluginSetupOption "telescope" {
|
||||
# file_ignore_patterns = mkOption {
|
||||
# description = "...";
|
||||
# type = types.listOf types.str;
|
||||
# default = [];
|
||||
# };
|
||||
# layout_config.horizontal = mkOption {...};
|
||||
# }
|
||||
# ```
|
||||
mkPluginSetupOption = pluginName: opts:
|
||||
mkOption {
|
||||
description = "Option table to pass into the setup function of " + pluginName;
|
||||
default = {};
|
||||
type = types.submodule {
|
||||
freeformType = with types; attrsOf anything;
|
||||
options = opts;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue