mirror of
https://github.com/NixOS/nix.git
synced 2024-11-22 06:42:28 +00:00
Merge pull request #8786 from Ma27/fix-why-depends-precise
nix/why-depends: fix output of `--precise`
This commit is contained in:
commit
5624777988
@ -239,7 +239,7 @@ struct CmdWhyDepends : SourceExprCommand, MixOperateOnOptions
|
||||
if (pos != std::string::npos) {
|
||||
size_t margin = 32;
|
||||
auto pos2 = pos >= margin ? pos - margin : 0;
|
||||
hits[hash].emplace_back(fmt("%s: …%s…\n",
|
||||
hits[hash].emplace_back(fmt("%s: …%s…",
|
||||
p2,
|
||||
hilite(filterPrintable(
|
||||
std::string(contents, pos2, pos - pos2 + hash.size() + margin)),
|
||||
@ -255,7 +255,7 @@ struct CmdWhyDepends : SourceExprCommand, MixOperateOnOptions
|
||||
for (auto & hash : hashes) {
|
||||
auto pos = target.find(hash);
|
||||
if (pos != std::string::npos)
|
||||
hits[hash].emplace_back(fmt("%s -> %s\n", p2,
|
||||
hits[hash].emplace_back(fmt("%s -> %s", p2,
|
||||
hilite(target, pos, StorePath::HashLen, getColour(hash))));
|
||||
}
|
||||
}
|
||||
@ -272,9 +272,9 @@ struct CmdWhyDepends : SourceExprCommand, MixOperateOnOptions
|
||||
|
||||
for (auto & hit : hits[hash]) {
|
||||
bool first = hit == *hits[hash].begin();
|
||||
std::cout << tailPad
|
||||
<< (first ? (last ? treeLast : treeConn) : (last ? treeNull : treeLine))
|
||||
<< hit;
|
||||
logger->cout("%s%s%s", tailPad,
|
||||
(first ? (last ? treeLast : treeConn) : (last ? treeNull : treeLine)),
|
||||
hit);
|
||||
if (!all) break;
|
||||
}
|
||||
|
||||
|
@ -22,3 +22,8 @@ echo "$PRECISE_WHY_DEPENDS_OUTPUT" | grepQuiet input-2
|
||||
# But only the “precise” one should refer to `reference-to-input-2`
|
||||
echo "$FAST_WHY_DEPENDS_OUTPUT" | grepQuietInverse reference-to-input-2
|
||||
echo "$PRECISE_WHY_DEPENDS_OUTPUT" | grepQuiet reference-to-input-2
|
||||
|
||||
<<<"$PRECISE_WHY_DEPENDS_OUTPUT" sed -n '2p' | grepQuiet "└───reference-to-input-2 -> "
|
||||
<<<"$PRECISE_WHY_DEPENDS_OUTPUT" sed -n '3p' | grep " →" | grepQuiet "dependencies-input-2"
|
||||
<<<"$PRECISE_WHY_DEPENDS_OUTPUT" sed -n '4p' | grepQuiet " └───input0: …" # in input-2, file input0
|
||||
<<<"$PRECISE_WHY_DEPENDS_OUTPUT" sed -n '5p' | grep " →" | grepQuiet "dependencies-input-0" # is dependencies-input-0 referenced
|
||||
|
Loading…
Reference in New Issue
Block a user