Zig's New CLI Progress Bar Explained

A tree view is a more accurate representation of the state of the process than a linear percentage. I’m not sure why you think the next step would be replacing such a rich display with one that would freeze & jump around like the infamous Windows file copy dialog.

The purpose of such a user interface element is to communicate the state of the software to the user and give them a sense of progress. It’s not to provide a record of what the software has done, which is available via other flags such as --summary all when using the build system, or --verbose as you mentioned, which already exists.

To be honest, I don’t sympathize with you finding it impossible to follow. In practice, the root node stays active for the majority of the duration of the process, and it no longer rapidly switches between subprocesses fighting over the same line. It’s objectively better than before. Similar to learning how to use version control, if you spend time learning how to take in this information, you will gain the ability to use a new tool to learn insights during the software development process that you would otherwise not be privy to. If you choose not to learn this skill, that’s fine, but others will pass you up and move on to greater heights.

2 Likes