Skip to content

Commit

Permalink
heed NO_COLOR environment variable
Browse files Browse the repository at this point in the history
  • Loading branch information
moneromooo-monero authored and SChernykh committed Oct 31, 2023
1 parent d9b765a commit 6c38c21
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
13 changes: 13 additions & 0 deletions contrib/epee/src/mlog.cpp
Expand Up @@ -338,11 +338,21 @@ bool is_stdout_a_tty()
return is_a_tty.load(std::memory_order_relaxed);
}

static bool is_nocolor()
{
static const char *no_color_var = getenv("NO_COLOR");
static const bool no_color = no_color_var && *no_color_var; // apparently, NO_COLOR=0 means no color too (as per no-color.org)
return no_color;
}

void set_console_color(int color, bool bright)
{
if (!is_stdout_a_tty())
return;

if (is_nocolor())
return;

switch(color)
{
case console_color_default:
Expand Down Expand Up @@ -461,6 +471,9 @@ void reset_console_color() {
if (!is_stdout_a_tty())
return;

if (is_nocolor())
return;

#ifdef WIN32
HANDLE h_stdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(h_stdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
Expand Down
5 changes: 5 additions & 0 deletions external/easylogging++/easylogging++.cc
Expand Up @@ -149,6 +149,11 @@ static el::Color colorFromLevel(el::Level level)

static void setConsoleColor(el::Color color, bool bright)
{
static const char *no_color_var = getenv("NO_COLOR");
static const bool no_color = no_color_var && *no_color_var; // apparently, NO_COLOR=0 means no color too (as per no-color.org)
if (no_color)
return;

#if ELPP_OS_WINDOWS
HANDLE h_stdout = GetStdHandle(STD_OUTPUT_HANDLE);
switch (color)
Expand Down

0 comments on commit 6c38c21

Please sign in to comment.