Terminal string styling. Put some color in your console!
supernova inspect '#eb4934'
echo WARNING: Intense color found. | supernova italic.yellow
echo Beautiful pink. | supernova underline.color '#e317e0'
echo Reflection, refraction and dispersion. | \
supernova gradient \
'#FF0000' '#FFFF00' '#00FF00' '#0FF0FE' '#233CFE'
- Default Random Rainbow
- Helpers
- Styles
- Foreground Colors
- Background Colors
- Underline Colors
- Chains: Compounding Styles
- Colon Smart Operator
echo Hello World | supernova
ls -la | supernova
supernova name '#34a2eb'
supernova name 52 162 235
supernova hex-to-rgb '#34a2eb'
supernova rgb-to-hex 52 162 235
supernova to-rgb 'Fox'
supernova inspect '#34a2eb'
supernova inspect 52 162 235
supernova inspect 'Fox'
Style support depends on your platform. The most common styles that usually works everywhere are:
echo "bold" | supernova bold
echo "italic" | supernova italic
echo "underline" | supernova underline
echo "crossed-out" | supernova crossed-out
echo "strike" | supernova strike
echo "reverse" | supernova reverse
echo "invert" | supernova invert
echo "blink" | supernova blink
echo "slow-blink" | supernova slow-blink
echo "overlined" | supernova overlined
echo "hide" | supernova hide
blink
bold
conceal
crossed-out
doubly
doubly-underline
encircled
faint
fraktur
framed
hide
invert
italic
overlined
proportional
proportional-spacing
rapid-blink
reset
reveal
reverse
reverse-video
slow-blink
spacing
strike
subscript
superscript
underline
blink-off
bold-off
crossed-out-off
encircled-off
fraktur-off
framed-off
invert-off
italic-off
overlined-off
proportional-off
proportional-spacing-off
reverse-off
spacing-off
strike-off
underline-off
echo Hello World | supernova black
echo Hello World | supernova blue
echo Hello World | supernova cyan
echo Hello World | supernova green
echo Hello World | supernova magenta
echo Hello World | supernova red
echo Hello World | supernova white
echo Hello World | supernova yellow
echo Hello World | supernova bright-black
echo Hello World | supernova gray # same as bright-black
echo Hello World | supernova bright-blue
echo Hello World | supernova bright-cyan
echo Hello World | supernova bright-green
echo Hello World | supernova bright-magenta
echo Hello World | supernova bright-red
echo Hello World | supernova bright-white
echo Hello World | supernova bright-yellow
echo Hello World | supernova color 1
echo Hello World | supernova color 2
echo Hello World | supernova color 3
# ...
echo Hello World | supernova color 253
echo Hello World | supernova color 255
echo Hello World | supernova color 256
echo Hello World | supernova color '#34a2eb' # Hex
echo Hello World | supernova color 235 52 223 # RGB
echo Hello World | supernova color 'Honey' # Name
echo Hello World | supernova gradient '#eb3434' '#343aeb'
echo Hello World | supernova gradient '#FF0000' '#FF7F00' '#FFFF00' '#00FF00'
echo Hello World | supernova gradient 'Honey' 'Bolognese'
Follows the same rules of Foreground Colors:
echo Hello World | supernova bg-blue
echo Hello World | supernova bg-bright-red
echo Hello World | supernova background-blue
echo Hello World | supernova background-bright-red
echo Hello World | supernova bg 253
echo Hello World | supernova background 255
echo Hello World | supernova background '#343aeb'
echo Hello World | supernova background 'Honey'
echo Hello World | supernova bg-gradient '#eb3434' '#343aeb'
echo Hello World | supernova background-gradient '#343aeb' '#eb3434'
Rarely supported.
echo Hello World | supernova underline-color 255
echo Hello World | supernova underline-color '#343aeb'
echo Hello World | supernova underline-color 'Honey'
You can compose as many styles as you like. The only rule is: You can have only one style with parameters per chain, and it must be the last one:
echo Hello World | supernova italic.red.underline
echo Hello World | supernova yellow.bold.bg-blue.strike
echo Hello World | supernova bold.bg-red.underline.color '#34a2eb'
echo Hello World | supernova italic.color 'Deep Sky Blue'
If you need to compose two styles that depend on parameters, you can be creative with the |
operator:
echo Hello World | supernova italic.bg '#0fd447' | supernova bold.color '#ed3d0c'
The :
operator indicates that supernova will attempt to act smartly: If you try to print an RGB color on a terminal with eight color support, it will use the closest color within the eight supported ones. You use it as a prefix in your calls:
echo Hello World | supernova :underline.red
echo Hello World | supernova :blue
echo Hello World | supernova :bold.color '#343aeb'
Five color modes are supported: true-color
256
16
8
0
By default, supernova tries to identify your terminal support and performs the necessary color adaptations with the :
operator.
You can use an environment variable (SUPERNOVA_COLORS
) to force a color mode:
echo Hello World | SUPERNOVA_COLORS=true-color supernova :color '#D52222'
echo Hello World | SUPERNOVA_COLORS=256 supernova :color '#D52222'
echo Hello World | SUPERNOVA_COLORS=16 supernova :color '#D52222'
echo Hello World | SUPERNOVA_COLORS=8 supernova :color '#D52222'
echo Hello World | SUPERNOVA_COLORS=0 supernova :color '#D52222'