lib/generators.toPretty: Switch away from δ and λ

- These symbols can be confusing for those not familiar with them
- There's no harm in making these more obvious
- Terminals may not print them correctly either

Also changes the function argument printing slightly to be more obvious
This commit is contained in:
Silvan Mosberger
2020-09-17 18:20:35 +02:00
parent 073e9b2aed
commit d0be9e9810
2 changed files with 13 additions and 12 deletions
+5 -7
View File
@@ -237,10 +237,8 @@ rec {
# apply pretty values if allowed
if attrNames v == [ "__pretty" "val" ] && allowPrettyValues
then v.__pretty v.val
# TODO: there is probably a better representation?
else if v ? type && v.type == "derivation" then
"<δ:${v.name}>"
# "<δ:${concatStringsSep "," (builtins.attrNames v)}>"
"<derivation ${v.drvPath}>"
else "{" + introSpace
+ libStr.concatStringsSep introSpace (libAttr.mapAttrsToList
(name: value:
@@ -248,11 +246,11 @@ rec {
+ outroSpace + "}"
else if isFunction v then
let fna = lib.functionArgs v;
showFnas = concatStringsSep "," (libAttr.mapAttrsToList
(name: hasDefVal: if hasDefVal then "(${name})" else name)
showFnas = concatStringsSep ", " (libAttr.mapAttrsToList
(name: hasDefVal: if hasDefVal then name + "?" else name)
fna);
in if fna == {} then "<λ>"
else "<λ:{${showFnas}}>"
in if fna == {} then "<function>"
else "<function, args: {${showFnas}}>"
else abort "generators.toPretty: should never happen (v = ${v})";
in go "";