lib/generators.toPretty: Print [] and {} compactly

This commit is contained in:
Silvan Mosberger 2020-09-17 18:14:18 +02:00
parent d0be9e9810
commit 05e4d371ef
No known key found for this signature in database
GPG key ID: E8F1E9EAD284E17D
2 changed files with 9 additions and 2 deletions

View file

@ -230,13 +230,16 @@ rec {
else if false == v then "false"
else if null == v then "null"
else if isPath v then toString v
else if isList v then "[" + introSpace
else if isList v then
if v == [] then "[ ]"
else "[" + introSpace
+ libStr.concatMapStringsSep introSpace (go (indent + " ")) v
+ outroSpace + "]"
+ outroSpace + "]"
else if isAttrs v then
# apply pretty values if allowed
if attrNames v == [ "__pretty" "val" ] && allowPrettyValues
then v.__pretty v.val
else if v == {} then "{ }"
else if v ? type && v.type == "derivation" then
"<derivation ${v.drvPath}>"
else "{" + introSpace

View file

@ -461,7 +461,9 @@ runTests {
function = x: x;
functionArgs = { arg ? 4, foo }: arg;
list = [ 3 4 function [ false ] ];
emptylist = [];
attrs = { foo = null; "foo bar" = "baz"; };
emptyattrs = {};
drv = deriv;
};
expected = rec {
@ -476,7 +478,9 @@ runTests {
function = "<function>";
functionArgs = "<function, args: {arg?, foo}>";
list = "[ 3 4 ${function} [ false ] ]";
emptylist = "[ ]";
attrs = "{ foo = null; \"foo bar\" = \"baz\"; }";
emptyattrs = "{ }";
drv = "<derivation ${deriv.drvPath}>";
};
};