Author: hboutemy
Date: Sat Jul  9 14:40:32 2016
New Revision: 1752009

URL: http://svn.apache.org/viewvc?rev=1752009&view=rev
Log:
[MSHARED-562] added stripAnsi(String) helper

Modified:
    
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java

Modified: 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java?rev=1752009&r1=1752008&r2=1752009&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java
 (original)
+++ 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java
 Sat Jul  9 14:40:32 2016
@@ -24,6 +24,7 @@ import org.fusesource.jansi.AnsiConsole;
 
 /**
  * Colored message utils, to manage colors colors consistently across plugins 
(only if Maven version is at least 3.4).
+ * For Maven version before 3.4, message built with this util will never add 
color.
  */
 public class MessageUtils
 {
@@ -44,6 +45,9 @@ public class MessageUtils
         JANSI = jansi;
     }
 
+    /**
+     * Install color support.
+     */
     public static void systemInstall()
     {
         if ( JANSI )
@@ -60,6 +64,10 @@ public class MessageUtils
         }
     }
 
+    /**
+     * Activates message color (if JAnsi is available).
+     * @param flag
+     */
     public static void setColor( boolean flag )
     {
         if ( JANSI )
@@ -68,23 +76,50 @@ public class MessageUtils
         }
     }
 
+    /**
+     * Is message color active: requires JAnsi available (through Maven) and 
the color has not been disabled.
+     * @return
+     */
     public static boolean isColor()
     {
         return JANSI ? Ansi.isEnabled() : false;
     }
 
+    /**
+     * Create a default message buffer.
+     * @return a new buffer
+     */
     public static MessageBuffer buffer()
     {
         return JANSI ? new AnsiMessageBuffer() : new PlainMessageBuffer();
     }
 
+    /**
+     * Create a message buffer with defined String builder.
+     * @return a new buffer
+     */
     public static MessageBuffer buffer( StringBuilder builder )
     {
         return JANSI ? new AnsiMessageBuffer( builder ) : new 
PlainMessageBuffer( builder );
     }
 
+    /**
+     * Create a message buffer with an internal buffer of defined size.
+     * @return a new buffer
+     */
     public static MessageBuffer buffer( int size )
     {
         return JANSI ? new AnsiMessageBuffer( size ) : new PlainMessageBuffer( 
size );
     }
+
+    /**
+     * Remove any ANSI code from a message
+     * @param msg message eventually containing ANSI codes
+     * @return the message with ANSI codes removed
+     */
+    public static String stripAnsi( String msg )
+    {
+        return msg.replaceAll( "\u001B\\[[;\\d]*[ -/]*[@-~]", "" );
+    }
+
 }


Reply via email to