void PrintPackage(TreeRenderer tree, Package package) { var packageName = package.PackageInfo.Name + " " + package.PackageInfo.Version; if (package.PackageInfo.Title != null) { packageName += " (" + package.PackageInfo.Title + ")"; } if (package.Locked) { packageName += " [locked]"; } var dependsLine = "depends: " + package.Spec; tree.PrintLine(IncludeDependencies ? dependsLine : packageName); var childNodes = package.Children == Truncated ? new[] { new Node <string>("...", (t, val) => t.PrintLine(val)) } : package.Children.Select(_ => new Node <Package>(_, PrintPackage)).Cast <Node>(); if (!IncludeDependencies) { childNodes.Render(tree); } else { new[] { new Node <string>(packageName, (t, val) => { t.PrintLine(val); childNodes.Render(t); }) }.Render(tree); } }
public override string ToString() { var tree = new TreeRenderer(); tree.PrintLine("─" + DescriptorName); PrintPackages(tree); return(tree.Content); }