From 34947c9d7a679534e684d3d6c21fabc875d03793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Mangeonjean?= Date: Thu, 5 Jan 2023 12:33:17 +0100 Subject: [PATCH] Allow overriding ansi mode on PlainTextMessageRenderer #KT-55784 Fixed --- .../common/messages/PlainTextMessageRenderer.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PlainTextMessageRenderer.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PlainTextMessageRenderer.java index 183a1ffc3af..bac5670ae91 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PlainTextMessageRenderer.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PlainTextMessageRenderer.java @@ -52,6 +52,19 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer { private static final Set IMPORTANT_MESSAGE_SEVERITIES = EnumSet.of(EXCEPTION, ERROR, STRONG_WARNING, WARNING); + private final boolean colorEnabled; + + public PlainTextMessageRenderer() { + this(COLOR_ENABLED); + } + + // This constructor is not used in this project + // but it can be useful in a compilation server to still be able to generate colored output + @SuppressWarnings("WeakerAccess") + public PlainTextMessageRenderer(boolean colorEnabled) { + this.colorEnabled = colorEnabled; + } + @Override public String renderPreamble() { return ""; @@ -78,7 +91,7 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer { result.append(" "); } - if (COLOR_ENABLED) { + if (this.colorEnabled) { Ansi ansi = Ansi.ansi() .bold() .fg(severityColor(severity))