1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-25 14:51:16 +02:00

* `nix-instantiate --print-args': print out the valid values for

functions arguments that have a domain.
This commit is contained in:
Eelco Dolstra 2006-07-28 14:01:29 +00:00
parent ca2238cf81
commit c11839d7b2
3 changed files with 37 additions and 3 deletions

View file

@ -308,3 +308,27 @@ string showType(Expr e)
return "an unknown type";
}
string showValue(Expr e)
{
ATerm s;
int i;
if (matchStr(e, s)) {
string t = aterm2String(s), u;
for (string::iterator i = t.begin(); i != t.end(); ++i)
if (*i == '\"' || *i == '\\') u += "\\" + *i;
else if (*i == '\n') u += "\\n";
else if (*i == '\r') u += "\\r";
else if (*i == '\t') u += "\\t";
else u += *i;
return "\"" + u + "\"";
}
if (matchPath(e, s)) return aterm2String(s);
if (matchUri(e, s)) return aterm2String(s);
if (matchNull(e)) return "null";
if (matchInt(e, i)) return (format("%1%") % i).str();
if (e == eTrue) return "true";
if (e == eFalse) return "false";
/* !!! incomplete */
return "<unknown>";
}