ansicolor
Last updated
Was this helpful?
Last updated
Was this helpful?
ansiColor('xterm') { node('controller') {
List matrix = []
List line = []
[38, 48].collect { fgbg ->
(1..255).collect { color ->
"""\033[${fgbg};5;${color}m ${String.format("%03d", color)} \033[0m"""
}
}.flatten().eachWithIndex{ c, idx ->
line += [c]
if ( 4 == (idx+1)%12 ) {
matrix.add( line )
line = []
}
}
println matrix.collect{ it.join(' ') }.join('\n')
}}
or
ansiColor('xterm') { node('controller') {
List matrix = []
List line = []
(0..7).collect{ attr ->
[38, 48].collect { fgbg ->
(0..255).collect { color ->
"\033[${attr};${fgbg};5;${color}m" +
""" \\033[${attr};${fgbg};${String.format("%03d", color)}m """ +
"\033[0m"
}
}
}.flatten().eachWithIndex{ c, idx ->
line += [c]
if ( 4 == (idx+1)%6 ) {
matrix.add( line )
line = []
}
}
println matrix.collect{ it.join(' ') }.join('\n')
}}
import groovy.transform.Field
/**
* <color> regular color
* bold<Color> bold color
* br<Color> high intensity (bright color)
* it<Color> italic
* on<Color> <color> as background
**/
@Field final Map<String, String> COLOR_MATRIX = [
black : '\033[0;38;5;0m' ,
red : '\033[0;38;5;1m' ,
green : '\033[0;38;5;2m' ,
darkGreen : '\033[0;38;5;022m' ,
yellow : '\033[0;38;5;3m' ,
blue : '\033[0;38;5;4m' ,
magenta : '\033[0;38;5;5m' ,
cyan : '\033[0;38;5;6m' ,
white : '\033[0;38;5;7m' ,
gray : '\033[0;38;5;8m' ,
lightGray : '\033[0;38;5;244m' ,
orange : '\033[0;38;5;208m' ,
orchid : '\033[0;38;5;207m' ,
gold : '\033[0;38;5;178m' ,
greenYellow : '\033[0;38;5;154m' ,
appleGreen : '\033[0;38;5;190m' ,
brRed : '\033[0;38;5;9m' ,
boldGreen : '\033[1;38;5;10m' ,
boldDarkGreen : '\033[1;38;5;022m' ,
brGreen : '\033[0;38;5;10m' ,
brYellow : '\033[0;38;5;11m' ,
brBlue : '\033[0;38;5;12m' ,
brMagenta : '\033[0;38;5;13m' ,
brCyan : '\033[0;38;5;14m' ,
brWhite : '\033[0;38;5;15m' ,
onBlack : '\033[0;48;5;0m' ,
onRed : '\033[0;48;5;1m' ,
onGreen : '\033[0;48;5;2m' ,
onDarkGreen : '\033[0;48;5;022m' ,
onYellow : '\033[0;48;5;3m' ,
onBlue : '\033[0;48;5;4m' ,
onMagenta : '\033[0;48;5;5m' ,
onCyan : '\033[0;48;5;6m' ,
onWhite : '\033[0;48;5;7m' ,
onGray : '\033[0;48;5;8m' ,
onLightGray : '\033[0;48;5;244m' ,
onOrange : '\033[0;48;5;208m' ,
onOrchid : '\033[0;48;5;207m' ,
boldBlack : '\033[1;38;5;0m' ,
boldRed : '\033[1;38;5;1m' ,
boldGreen : '\033[1;38;5;2m' ,
boldDarkGreen : '\033[1;38;5;022m' ,
boldYellow : '\033[1;38;5;3m' ,
boldBlue : '\033[1;38;5;4m' ,
boldMagenta : '\033[1;38;5;5m' ,
boldCyan : '\033[1;38;5;6m' ,
boldWhite : '\033[1;38;5;7m' ,
boldGray : '\033[1;38;5;8m' ,
itBlack : '\033[3;38;5;0m' ,
itRed : '\033[3;38;5;1m' ,
itGreen : '\033[3;38;5;2m' ,
itDarkGreen : '\033[3;38;5;022m' ,
itYellow : '\033[3;38;5;3m' ,
itBlue : '\033[3;38;5;4m' ,
itMagenta : '\033[3;38;5;5m' ,
itCyan : '\033[3;38;5;6m' ,
itWhite : '\033[3;38;5;7m' ,
itGray : '\033[3;38;5;8m' ,
itLightGray : '\033[3;38;5;244m' ,
itOrange : '\033[3;38;5;208m' ,
itOrchid : '\033[3;38;5;207m' ,
ESC : '\033[0m'
]
def show( String color, String str ) {
if ( COLOR_MATRIX.containsKey(color) ) {
println COLOR_MATRIX.get('red') + "WARN: the color name: ${color} cannot be found in matrix" + COLOR_MATRIX.get('ESC')
}
return COLOR_MATRIX.getOrDefault( color, 'black' ) + str + COLOR_MATRIX.get('ESC')
}
others
import groovy.transform.Field
@Field final Map<String, String> COLOR_MATRIX = [
black : '\033[0;38;5;0m' ,
red : '\033[0;38;5;1m' ,
green : '\033[0;38;5;2m' ,
darkGreen : '\033[0;38;5;022m' ,
yellow : '\033[0;38;5;3m' ,
blue : '\033[0;38;5;4m' ,
magenta : '\033[0;38;5;5m' ,
cyan : '\033[0;38;5;6m' ,
white : '\033[0;38;5;7m' ,
gray : '\033[0;38;5;8m' ,
lightGray : '\033[0;38;5;244m' ,
orange : '\033[0;38;5;208m' ,
orchid : '\033[0;38;5;207m' ,
gold : '\033[0;38;5;178m' ,
greenYellow : '\033[0;38;5;154m' ,
appleGreen : '\033[0;38;5;190m' ,
brRed : '\033[0;38;5;9m' ,
boldGreen : '\033[1;38;5;10m' ,
boldDarkGreen : '\033[1;38;5;022m' ,
brGreen : '\033[0;38;5;10m' ,
brYellow : '\033[0;38;5;11m' ,
brBlue : '\033[0;38;5;12m' ,
brMagenta : '\033[0;38;5;13m' ,
brCyan : '\033[0;38;5;14m' ,
brWhite : '\033[0;38;5;15m' ,
onBlack : '\033[0;48;5;0m' ,
onRed : '\033[0;48;5;1m' ,
onGreen : '\033[0;48;5;2m' ,
onDarkGreen : '\033[0;48;5;022m' ,
onYellow : '\033[0;48;5;3m' ,
onBlue : '\033[0;48;5;4m' ,
onMagenta : '\033[0;48;5;5m' ,
onCyan : '\033[0;48;5;6m' ,
onWhite : '\033[0;48;5;7m' ,
onGray : '\033[0;48;5;8m' ,
onLightGray : '\033[0;48;5;244m' ,
onOrange : '\033[0;48;5;208m' ,
onOrchid : '\033[0;48;5;207m' ,
boldBlack : '\033[1;38;5;0m' ,
boldRed : '\033[1;38;5;1m' ,
boldGreen : '\033[1;38;5;2m' ,
boldDarkGreen : '\033[1;38;5;022m' ,
boldYellow : '\033[1;38;5;3m' ,
boldBlue : '\033[1;38;5;4m' ,
boldMagenta : '\033[1;38;5;5m' ,
boldCyan : '\033[1;38;5;6m' ,
boldWhite : '\033[1;38;5;7m' ,
boldGray : '\033[1;38;5;8m' ,
itBlack : '\033[3;38;5;0m' ,
itRed : '\033[3;38;5;1m' ,
itGreen : '\033[3;38;5;2m' ,
itDarkGreen : '\033[3;38;5;022m' ,
itYellow : '\033[3;38;5;3m' ,
itBlue : '\033[3;38;5;4m' ,
itMagenta : '\033[3;38;5;5m' ,
itCyan : '\033[3;38;5;6m' ,
itWhite : '\033[3;38;5;7m' ,
itGray : '\033[3;38;5;8m' ,
itLightGray : '\033[3;38;5;244m' ,
itOrange : '\033[3;38;5;208m' ,
itOrchid : '\033[3;38;5;207m' ,
ESC : '\033[0m'
]
black
#000000
#4C4C4C
red
#CD0000
#FF0000
green
#4C8045
#84A729
yellow
#F1BD3F
#F2C867
blue
#1E90FF
#4682B4
megenta
#CD00CD
#FF00FF
cyan
#5a9196
#6CB2B9
white
#E5E5E5
#FFFFFF
[!TIP] references:
original settings:
black
#000000
#4C4C4C
red
#CD0000
#FF0000
green
#00CD00
#00FF00
yellow
#CDCD00
#FFFF00
blue
#1E90FF
#4682B4
megenta
#CD00CD
#FF00FF
cyan
#00CDCD
#00FFFF
white
#E5E5E5
#FFFFFF