Skip to content

Commit

Permalink
Merge pull request #67 from gnodet/MNG-6380
Browse files Browse the repository at this point in the history
[MNG-6380] Option -Dstyle.color=always doesn't force color output
  • Loading branch information
elharo committed Apr 16, 2021
2 parents 81a813b + 0bb44cd commit eb4f635
Showing 1 changed file with 23 additions and 11 deletions.
Expand Up @@ -21,6 +21,7 @@

import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.AnsiConsole;
import org.fusesource.jansi.AnsiMode;

/**
* Colored message utils, to manage colors consistently across plugins (only if Maven version is at least 3.5.0).
Expand Down Expand Up @@ -81,17 +82,13 @@ public static void systemUninstall()
// hook can only set when JANSI is true
if ( shutdownHook != null )
{
// if out and system_out are same instance again, ansi is assumed to be uninstalled
if ( AnsiConsole.out == AnsiConsole.system_out )
try
{
try
{
Runtime.getRuntime().removeShutdownHook( shutdownHook );
}
catch ( IllegalStateException ex )
{
// ignore - VM is already shutting down
}
Runtime.getRuntime().removeShutdownHook( shutdownHook );
}
catch ( IllegalStateException ex )
{
// ignore - VM is already shutting down
}
}
}
Expand All @@ -113,7 +110,19 @@ public static void setColorEnabled( boolean flag )
{
if ( JANSI )
{
AnsiConsole.out().setMode( flag ? AnsiMode.Force : AnsiMode.Strip );
Ansi.setEnabled( flag );
System.setProperty( AnsiConsole.JANSI_MODE,
flag ? AnsiConsole.JANSI_MODE_FORCE : AnsiConsole.JANSI_MODE_STRIP );
boolean installed = AnsiConsole.isInstalled();
while ( AnsiConsole.isInstalled() )
{
AnsiConsole.systemUninstall();
}
if ( installed )
{
AnsiConsole.systemInstall();
}
}
}

Expand Down Expand Up @@ -194,7 +203,10 @@ public void run()
{
synchronized ( STARTUP_SHUTDOWN_MONITOR )
{
doSystemUninstall();
while ( AnsiConsole.isInstalled() )
{
doSystemUninstall();
}
}
}
};
Expand Down

0 comments on commit eb4f635

Please sign in to comment.