yazi: add main.lua support to plugins (#6394) (#7090)

Yazi is deprecating init.lua for main.lua usages. This adds support for
main.lua in plugins.

(cherry picked from commit 18fa9f323d)
This commit is contained in:
Austin Horstman
2025-05-19 16:07:50 -05:00
committed by GitHub
parent e343c8dafd
commit d5f1f641b2

View File

@@ -265,8 +265,12 @@ in {
toString missingFiles toString missingFiles
}"; }";
singularOpt = removeSuffix "s" opt; singularOpt = removeSuffix "s" opt;
isPluginValid = opt == "plugins"
&& (any (file: pathExists "${value}/${file}") requiredFiles);
isValid =
if opt == "plugins" then isPluginValid else missingFiles == [ ];
in { in {
assertion = isDir && missingFiles == [ ]; assertion = isDir && isValid;
message = '' message = ''
Value at `programs.yazi.${opt}.${name}` is not a valid yazi ${singularOpt}. Value at `programs.yazi.${opt}.${name}` is not a valid yazi ${singularOpt}.
${msgNotDir} ${msgNotDir}
@@ -281,6 +285,6 @@ in {
"preview.png" "preview.png"
"LICENSE" "LICENSE"
"LICENSE-tmtheme" "LICENSE-tmtheme"
]) ++ (mkAsserts "plugins" [ "init.lua" ]); ]) ++ (mkAsserts "plugins" [ "init.lua" "main.lua" ]);
}; };
} }