improve progress reporting

* use erase rest of line escape code.
 * use `stderr.supportsAnsiEscapeCodes` rather than `isTty`.
 * respect `--color off`
 * avoid unnecessary recursion
 * add `Progress.log`
 * disable the progress std lib test since it's noisy and uses
   `time.sleep()`.
 * enable/integrate progress printing with the default test runner
This commit is contained in:
Andrew Kelley
2019-10-17 21:46:41 -04:00
parent 299991019d
commit 2d5b2bf1c9
8 changed files with 92 additions and 55 deletions

View File

@@ -10479,11 +10479,11 @@ ZigPackage *codegen_create_package(CodeGen *g, const char *root_src_dir, const c
}
CodeGen *create_child_codegen(CodeGen *parent_gen, Buf *root_src_path, OutType out_type,
ZigLibCInstallation *libc, const char *name, Stage2ProgressNode *child_progress_node)
ZigLibCInstallation *libc, const char *name, Stage2ProgressNode *parent_progress_node)
{
if (!child_progress_node) {
child_progress_node = stage2_progress_start(parent_gen->progress_node, name, strlen(name), 0);
}
Stage2ProgressNode *child_progress_node = stage2_progress_start(
parent_progress_node ? parent_progress_node : parent_gen->progress_node,
name, strlen(name), 0);
CodeGen *child_gen = codegen_create(nullptr, root_src_path, parent_gen->zig_target, out_type,
parent_gen->build_mode, parent_gen->zig_lib_dir, libc, get_stage1_cache_path(), false, child_progress_node);