lib: add lznPluginTableType

This commit is contained in:
Ching Pei Yang 2024-07-10 01:40:11 +02:00 committed by Pei Yang Ching
parent f725060e1c
commit 75f754dcda
2 changed files with 8 additions and 5 deletions

View file

@ -9,7 +9,7 @@
typesCustom = import ./custom.nix {inherit lib;}; typesCustom = import ./custom.nix {inherit lib;};
in { in {
inherit (typesDag) dagOf; inherit (typesDag) dagOf;
inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType lznPluginType; inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType lznPluginType lznPluginTableType;
inherit (typesLanguage) diagnostics mkGrammarOption; inherit (typesLanguage) diagnostics mkGrammarOption;
inherit (typesCustom) anythingConcatLists char; inherit (typesCustom) anythingConcatLists char;
} }

View file

@ -57,6 +57,7 @@
check = x: lib.nvim.lua.isLuaInline x; check = x: lib.nvim.lua.isLuaInline x;
}; };
lznPluginTableType = attrsOf lznPluginType;
lznPluginType = submodule { lznPluginType = submodule {
options = { options = {
## Should probably infer from the actual plugin somehow ## Should probably infer from the actual plugin somehow
@ -65,7 +66,9 @@
# type= str; # type= str;
# } # }
package = pluginType; package = mkOption {
type = pluginType;
};
before = mkOption { before = mkOption {
type = nullOr luaInline; type = nullOr luaInline;
@ -81,7 +84,7 @@
event = mkOption { event = mkOption {
description = "Lazy-load on event"; description = "Lazy-load on event";
default = "null"; default = null;
type = let type = let
event = submodule { event = submodule {
options = { options = {
@ -98,7 +101,7 @@
}; };
}; };
in in
oneOf [str (listOf str) event]; nullOr (oneOf [str (listOf str) event]);
}; };
cmd = mkOption { cmd = mkOption {
@ -123,7 +126,7 @@
}; };
}; };
in { in {
inherit extraPluginType fromInputs pluginType luaInline lznPluginType; inherit extraPluginType fromInputs pluginType luaInline lznPluginType lznPluginTableType;
borderType = either (enum borderPresets) (listOf (either str (listOf str))); borderType = either (enum borderPresets) (listOf (either str (listOf str)));