diff options
| author | Martin Wickham <spexguy070@gmail.com> | 2021-06-21 13:47:38 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-07-08 14:30:45 -0400 |
| commit | e2b954c2738c683a85b864eb33530f0e3dbbc480 (patch) | |
| tree | 47d90ba0a28ee7ce3e4e2f12b325567c31f307e2 /src/main.zig | |
| parent | 7bdeda82aea82b9a71378462f51a708b8ad88161 (diff) | |
| download | zig-e2b954c2738c683a85b864eb33530f0e3dbbc480.tar.gz zig-e2b954c2738c683a85b864eb33530f0e3dbbc480.zip | |
Add support for NO_COLOR
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/main.zig b/src/main.zig index 37044d0b99..2b961bb64c 100644 --- a/src/main.zig +++ b/src/main.zig @@ -503,15 +503,6 @@ const Emit = union(enum) { } }; -fn optionalBoolEnvVar(arena: *Allocator, name: []const u8) !bool { - if (std.process.getEnvVarOwned(arena, name)) |_| { - return true; - } else |err| switch (err) { - error.EnvironmentVariableNotFound => return false, - else => |e| return e, - } -} - fn optionalStringEnvVar(arena: *Allocator, name: []const u8) !?[]const u8 { if (std.process.getEnvVarOwned(arena, name)) |value| { return value; @@ -548,8 +539,8 @@ fn buildOutputType( var single_threaded = false; var function_sections = false; var watch = false; - var verbose_link = try optionalBoolEnvVar(arena, "ZIG_VERBOSE_LINK"); - var verbose_cc = try optionalBoolEnvVar(arena, "ZIG_VERBOSE_CC"); + var verbose_link = std.process.hasEnvVarConstant("ZIG_VERBOSE_LINK"); + var verbose_cc = std.process.hasEnvVarConstant("ZIG_VERBOSE_CC"); var verbose_air = false; var verbose_llvm_ir = false; var verbose_cimport = false; @@ -670,6 +661,11 @@ fn buildOutputType( defer freePkgTree(gpa, &pkg_tree_root, false); var cur_pkg: *Package = &pkg_tree_root; + // before arg parsing, check for the NO_COLOR environment variable + // if it exists, default the color setting to .off + // explicit --color arguments will still override this setting. + color = if (std.process.hasEnvVarConstant("NO_COLOR")) .off else .auto; + switch (arg_mode) { .build, .translate_c, .zig_test, .run => { var optimize_mode_string: ?[]const u8 = null; |
