| ... | ... | @@ -424,6 +424,17 @@ const PrintNode = struct { |
| 424 | 424 | last: bool = false, |
| 425 | 425 | }; |
| 426 | 426 | |
| 427 | fn printPrefix(node: *PrintNode, stderr: std.fs.File) !void { |
| 428 | const parent = node.parent orelse return; |
| 429 | if (parent.parent == null) return; |
| 430 | try printPrefix(parent, stderr); |
| 431 | if (parent.last) { |
| 432 | try stderr.writeAll(" "); |
| 433 | } else { |
| 434 | try stderr.writeAll("│ "); |
| 435 | } |
| 436 | } |
| 437 | |
| 427 | 438 | fn printTreeStep( |
| 428 | 439 | b: *std.Build, |
| 429 | 440 | s: *Step, |
| ... | ... | @@ -431,15 +442,7 @@ fn printTreeStep( |
| 431 | 442 | ttyconf: std.debug.TTY.Config, |
| 432 | 443 | parent_node: *PrintNode, |
| 433 | 444 | ) !void { |
| 434 | | var opt_node: ?*PrintNode = parent_node.parent; |
| 435 | | while (opt_node) |n| : (opt_node = n.parent) { |
| 436 | | if (n.parent == null) break; |
| 437 | | if (n.last) { |
| 438 | | try stderr.writeAll(" "); |
| 439 | | } else { |
| 440 | | try stderr.writeAll("│ "); |
| 441 | | } |
| 442 | | } |
| 445 | try printPrefix(parent_node, stderr); |
| 443 | 446 | |
| 444 | 447 | if (parent_node.parent != null) { |
| 445 | 448 | if (parent_node.last) { |