From aaf8653beebfe3836bc126fe3b62b8eacfa60a9b Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Tue, 7 Sep 2021 12:24:57 +0100 Subject: [PATCH] Disable ANSI when gradle's --console plain arg is used Fixes #486 --- .../loom/configuration/providers/LaunchProvider.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/LaunchProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/LaunchProvider.java index d92c784..312492a 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/LaunchProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/LaunchProvider.java @@ -40,6 +40,7 @@ import java.util.stream.Collectors; import org.apache.commons.io.FileUtils; import org.gradle.api.Project; +import org.gradle.api.logging.configuration.ConsoleOutput; import org.gradle.api.plugins.JavaPlugin; import net.fabricmc.loom.configuration.DependencyProvider; @@ -66,10 +67,13 @@ public class LaunchProvider extends DependencyProvider { .argument("client", "--assetsDir") .argument("client", new File(getDirectories().getUserCache(), "assets").getAbsolutePath()); - //Enable ansi by default for idea and vscode - if (new File(getProject().getRootDir(), ".vscode").exists() + final boolean plainConsole = getProject().getGradle().getStartParameter().getConsoleOutput() == ConsoleOutput.Plain; + final boolean ansiSupportedIDE = new File(getProject().getRootDir(), ".vscode").exists() || new File(getProject().getRootDir(), ".idea").exists() - || (Arrays.stream(getProject().getRootDir().listFiles()).anyMatch(file -> file.getName().endsWith(".iws")))) { + || (Arrays.stream(getProject().getRootDir().listFiles()).anyMatch(file -> file.getName().endsWith(".iws"))); + + //Enable ansi by default for idea and vscode when gradle is not ran with plain console. + if (ansiSupportedIDE && !plainConsole) { launchConfig.property("fabric.log.disableAnsi", "false"); }