import java.io.PrintStream;

public class PrintUtils {

    public enum Color {

        RESET ("\u001B[0m"),
        BLACK ("\u001B[30m"),
        RED ("\u001B[31m"),
        GREEN ("\u001B[32m"),
        YELLOW ("\u001B[33m"),
        BLUE ("\u001B[34m"),
        PURPLE ("\u001B[35m"),
        CYAN ("\u001B[36m"),
        WHITE ("\u001B[37m"),
        BLACKBG ("\u001B[40m"),
        REDBG ("\u001B[41m"),
        GREENBG ("\u001B[42m"),
        YELLOWBG ("\u001B[43m"),
        BLUEBG ("\u001B[44m"),
        PURPLEBG ("\u001B[45m"),
        CYANBG ("\u001B[46m"),
        WHITEBG ("\u001B[47m");

        private final String _code;

        Color(String code) {

            _code = code;

        }

        public String getCode() {

            return _code;

        }

    }

    private PrintUtils() {

    }

    public static void printlnColor(String msg, Color color, PrintStream out) {

        out.println(color.getCode() + msg + Color.RESET.getCode());

    }

    public static void printColor(String msg, Color color, PrintStream out) {

        out.print(color.getCode() + msg + Color.RESET.getCode());

    }
}

@@ -627,24 +627,57 @@
 tring _code;
+%0A        private final String os;
 %0A%0A        Co
@@ -717,24 +717,72 @@
 code = code;
+%0A            os = System.getProperty(%22os.name%22);
 %0A%0A        %7D%0A
@@ -813,24 +813,136 @@
 etCode() %7B%0A%0A
+            if(os.toLowerCase().startsWith(%22windows%22)) %7B%0A%0A                return %22%22;%0A%0A            %7D else %7B%0A%0A    
             
@@ -960,26 +960,39 @@
 e;%0A%0A        
+   
+ 
 %7D%0A
+        %7D
 %0A    %7D%0A%0A    

check if running windows before printing ASCII codes