001/**
002 * Copyright (c) 2015-2022, Michael Yang 杨福海 (fuhai999@gmail.com).
003 * <p>
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 * <p>
008 * http://www.apache.org/licenses/LICENSE-2.0
009 * <p>
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016
017package io.jboot.web.handler;
018
019/**
020 * @author michael yang (fuhai999@gmail.com)
021 */
022public enum ConsoleColor {
023
024    //颜色结尾字符串,重置颜色的
025    RESET("\033[0m"),
026
027    // Regular Colors 普通颜色,不带加粗,背景色等
028    BLACK("\033[0;30m"),    // BLACK
029    RED("\033[0;31m"),      // RED
030    GREEN("\033[0;32m"),    // GREEN
031    YELLOW("\033[0;33m"),   // YELLOW
032    BLUE("\033[0;34m"),     // BLUE
033    MAGENTA("\033[0;35m"),  // MAGENTA
034    CYAN("\033[0;36m"),     // CYAN
035    WHITE("\033[0;37m"),    // WHITE
036
037    // Bold
038    BLACK_BOLD("\033[1;30m"),   // BLACK
039    RED_BOLD("\033[1;31m"),     // RED
040    GREEN_BOLD("\033[1;32m"),   // GREEN
041    YELLOW_BOLD("\033[1;33m"),  // YELLOW
042    BLUE_BOLD("\033[1;34m"),    // BLUE
043    MAGENTA_BOLD("\033[1;35m"), // MAGENTA
044    CYAN_BOLD("\033[1;36m"),    // CYAN
045    WHITE_BOLD("\033[1;37m"),   // WHITE
046
047    // Underline
048    BLACK_UNDERLINED("\033[4;30m"),     // BLACK
049    RED_UNDERLINED("\033[4;31m"),       // RED
050    GREEN_UNDERLINED("\033[4;32m"),     // GREEN
051    YELLOW_UNDERLINED("\033[4;33m"),    // YELLOW
052    BLUE_UNDERLINED("\033[4;34m"),      // BLUE
053    MAGENTA_UNDERLINED("\033[4;35m"),   // MAGENTA
054    CYAN_UNDERLINED("\033[4;36m"),      // CYAN
055    WHITE_UNDERLINED("\033[4;37m"),     // WHITE
056
057    // Background
058    BLACK_BACKGROUND("\033[40m"),   // BLACK
059    RED_BACKGROUND("\033[41m"),     // RED
060    GREEN_BACKGROUND("\033[42m"),   // GREEN
061    YELLOW_BACKGROUND("\033[43m"),  // YELLOW
062    BLUE_BACKGROUND("\033[44m"),    // BLUE
063    MAGENTA_BACKGROUND("\033[45m"), // MAGENTA
064    CYAN_BACKGROUND("\033[46m"),    // CYAN
065    WHITE_BACKGROUND("\033[47m"),   // WHITE
066
067    // High Intensity
068    BLACK_BRIGHT("\033[0;90m"),     // BLACK
069    RED_BRIGHT("\033[0;91m"),       // RED
070    GREEN_BRIGHT("\033[0;92m"),     // GREEN
071    YELLOW_BRIGHT("\033[0;93m"),    // YELLOW
072    BLUE_BRIGHT("\033[0;94m"),      // BLUE
073    MAGENTA_BRIGHT("\033[0;95m"),   // MAGENTA
074    CYAN_BRIGHT("\033[0;96m"),      // CYAN
075    WHITE_BRIGHT("\033[0;97m"),     // WHITE
076
077    // Bold High Intensity
078    BLACK_BOLD_BRIGHT("\033[1;90m"),    // BLACK
079    RED_BOLD_BRIGHT("\033[1;91m"),      // RED
080    GREEN_BOLD_BRIGHT("\033[1;92m"),    // GREEN
081    YELLOW_BOLD_BRIGHT("\033[1;93m"),   // YELLOW
082    BLUE_BOLD_BRIGHT("\033[1;94m"),     // BLUE
083    MAGENTA_BOLD_BRIGHT("\033[1;95m"),  // MAGENTA
084    CYAN_BOLD_BRIGHT("\033[1;96m"),     // CYAN
085    WHITE_BOLD_BRIGHT("\033[1;97m"),    // WHITE
086
087    // High Intensity backgrounds
088    BLACK_BACKGROUND_BRIGHT("\033[0;100m"),     // BLACK
089    RED_BACKGROUND_BRIGHT("\033[0;101m"),       // RED
090    GREEN_BACKGROUND_BRIGHT("\033[0;102m"),     // GREEN
091    YELLOW_BACKGROUND_BRIGHT("\033[0;103m"),    // YELLOW
092    BLUE_BACKGROUND_BRIGHT("\033[0;104m"),      // BLUE
093    MAGENTA_BACKGROUND_BRIGHT("\033[0;105m"),   // MAGENTA
094    CYAN_BACKGROUND_BRIGHT("\033[0;106m"),      // CYAN
095    WHITE_BACKGROUND_BRIGHT("\033[0;107m");     // WHITE
096
097    private final String code;
098
099    ConsoleColor(String code) {
100        this.code = code;
101    }
102
103    @Override
104    public String toString() {
105        return code;
106    }
107}