From 54f1ce2af287c85e88eff6813d3bc107a8e0c576 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Tue, 19 Sep 2017 15:25:33 +0100 Subject: [PATCH] Don't use console colour if running in XCode --- include/internal/catch_console_colour.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/include/internal/catch_console_colour.cpp b/include/internal/catch_console_colour.cpp index 13290544..946e2903 100644 --- a/include/internal/catch_console_colour.cpp +++ b/include/internal/catch_console_colour.cpp @@ -20,6 +20,7 @@ #include "catch_stream.h" #include "catch_context.h" #include "catch_platform.h" +#include "catch_debugger.h" namespace Catch { namespace { @@ -156,6 +157,13 @@ namespace { } }; + bool useColourOnPlatform() { + return +#ifdef CATCH_PLATFORM_MAC + !isDebuggerActive() && +#endif + isatty(STDOUT_FILENO); + } IColourImpl* platformColourInstance() { ErrnoGuard guard; IConfigPtr config = getCurrentContext().getConfig(); @@ -163,7 +171,7 @@ namespace { ? config->useColour() : UseColour::Auto; if( colourMode == UseColour::Auto ) - colourMode = isatty(STDOUT_FILENO) + colourMode = useColourOnPlatform() ? UseColour::Yes : UseColour::No; return colourMode == UseColour::Yes