1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-24 22:11:15 +02:00
This commit is contained in:
ulucs 2025-06-23 10:36:01 +00:00 committed by GitHub
commit 679996c9c4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1206,10 +1206,15 @@ struct CmdFlakeShow : FlakeCommand, MixJSON
|| attrPathS[0] == "legacyPackages"
|| attrPathS[0] == "packages")
&& (attrPathS.size() == 1 || attrPathS.size() == 2)) {
for (const auto &subAttr : visitor2->getAttrs()) {
if (hasContent(*visitor2, attrPath2, subAttr)) {
return true;
try {
for (const auto &subAttr : visitor2->getAttrs()) {
if (hasContent(*visitor2, attrPath2, subAttr)) {
return true;
}
}
} catch (IFDError & e) {
// allow IFD errors here; as we handle them during `visit()`
return true;
}
return false;
}
@ -1220,10 +1225,14 @@ struct CmdFlakeShow : FlakeCommand, MixJSON
|| attrPathS[0] == "nixosModules"
|| attrPathS[0] == "overlays"
)) {
for (const auto &subAttr : visitor2->getAttrs()) {
if (hasContent(*visitor2, attrPath2, subAttr)) {
return true;
try {
for (const auto &subAttr : visitor2->getAttrs()) {
if (hasContent(*visitor2, attrPath2, subAttr)) {
return true;
}
}
} catch (IFDError & e) {
return true;
}
return false;
}
@ -1261,12 +1270,20 @@ struct CmdFlakeShow : FlakeCommand, MixJSON
try {
auto recurse = [&]()
{
if (!json)
logger->cout("%s", headerPrefix);
std::vector<Symbol> attrs;
for (const auto &attr : visitor.getAttrs()) {
if (hasContent(visitor, attrPath, attr))
attrs.push_back(attr);
try {
for (const auto &attr : visitor.getAttrs()) {
if (hasContent(visitor, attrPath, attr))
attrs.push_back(attr);
}
if (!json)
logger->cout("%s", headerPrefix);
} catch (IFDError & e) {
if (!json) {
logger->cout(fmt("%s " ANSI_WARNING "omitted due to use of import from derivation" ANSI_NORMAL, headerPrefix));
} else {
logger->warn(fmt("%s omitted due to use of import from derivation", concatStringsSep(".", attrPathS)));
}
}
for (const auto & [i, attr] : enumerate(attrs)) {