You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/07/10 11:13:01 UTC
svn commit: r1752076 -
/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/Style.java
Author: hboutemy
Date: Sun Jul 10 11:13:01 2016
New Revision: 1752076
URL: http://svn.apache.org/viewvc?rev=1752076&view=rev
Log:
[MSHARED-562] added background color support
Modified:
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/Style.java
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/Style.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/Style.java?rev=1752076&r1=1752075&r2=1752076&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/Style.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/Style.java Sun Jul 10 11:13:01 2016
@@ -20,11 +20,8 @@ package org.apache.maven.shared.utils.lo
*/
import org.fusesource.jansi.Ansi;
-import org.fusesource.jansi.Ansi.Attribute;
import org.fusesource.jansi.Ansi.Color;
-import static org.fusesource.jansi.Ansi.Attribute.INTENSITY_BOLD;
-
import java.util.Locale;
/**
@@ -43,66 +40,100 @@ enum Style
MOJO( "green" ),
PROJECT( "cyan" );
- private final Attribute attribute;
+ private final boolean bold;
private final Color color;
+ private final Color bgColor;
+
Style( String defaultValue )
{
- Attribute currentAttribute = null;
+ boolean currentBold = false;
Color currentColor = null;
+ Color currentBgColor = null;
- String value = System.getProperty( "style." + name().toLowerCase( Locale.ENGLISH ), defaultValue );
+ String value = System.getProperty( "style." + name().toLowerCase( Locale.ENGLISH ),
+ defaultValue ).toLowerCase( Locale.ENGLISH );
for ( String token : value.split( "," ) )
{
- for ( Color color : Color.values() )
+ if ( "bold".equals( token ) )
{
- if ( color.toString().equalsIgnoreCase( token ) )
- {
- currentColor = color;
- break;
- }
+ currentBold = true;
}
-
- if ( "bold".equalsIgnoreCase( token ) )
+ else if ( token.startsWith( "bg" ) )
{
- currentAttribute = INTENSITY_BOLD;
+ currentBgColor = toColor( token.substring( 2 ) );
+ }
+ else
+ {
+ currentColor = toColor( token );
}
}
- this.attribute = currentAttribute;
+ this.bold = currentBold;
this.color = currentColor;
+ this.bgColor = currentBgColor;
+ }
+
+ private static Color toColor( String token )
+ {
+ for ( Color color : Color.values() )
+ {
+ if ( color.toString().equalsIgnoreCase( token ) )
+ {
+ return color;
+ }
+ }
+ return null;
}
void apply( Ansi ansi )
{
- if ( attribute != null )
+ if ( bold )
{
- ansi.a( attribute );
+ ansi.bold();
}
if ( color != null )
{
ansi.fg( color );
}
+ if ( bgColor != null )
+ {
+ ansi.bg( bgColor );
+ }
}
@Override
public String toString()
{
- if ( attribute == null && color == null )
+ if ( !bold && color == null && bgColor == null )
{
return name();
}
- if ( attribute == null )
+ StringBuilder sb = new StringBuilder();
+ if ( bold )
+ {
+ sb.append( "bold" );
+ }
+ if ( color != null )
{
- return name() + "=" + color.toString();
+ if ( sb.length() > 0 )
+ {
+ sb.append( ',' );
+ }
+ sb.append( color.name() );
}
- if ( color == null )
+ if ( bgColor != null )
{
- return name() + "=" + attribute.toString();
+ if ( sb.length() > 0 )
+ {
+ sb.append( ',' );
+ }
+ sb.append( "bg" );
+ sb.append( bgColor.name() );
}
- return name() + "=" + attribute + "," + color;
+ return name() + '=' + sb;
}
}