1 # A script to make using 256 colors in zsh less painful.
2 # P.C. Shyamshankar <sykora@lucentbeing.com>
3 # Copied from https://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
9 bold "%{
\e[01m%}" no-bold "%{
\e[22m%}"
10 italic "%{
\e[03m%}" no-italic "%{
\e[23m%}"
11 underline "%{
\e[04m%}" no-underline "%{
\e[24m%}"
12 blink "%{
\e[05m%}" no-blink "%{
\e[25m%}"
13 reverse "%{
\e[07m%}" no-reverse "%{
\e[27m%}"
16 for color in {000..255}; do
17 FG[$color]="%{
\e[38;5;${color}m%}"
18 BG[$color]="%{
\e[48;5;${color}m%}"
21 # Show all 256 colors with color number
22 function spectrum_ls() {
23 setopt localoptions nopromptsubst
24 local ZSH_SPECTRUM_TEXT=${ZSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris}
25 for code in {000..255}; do
26 print -P -- "$code: ${FG[$code]}${ZSH_SPECTRUM_TEXT}%{$reset_color%}"
30 # Show all 256 colors where the background is set to specific color
31 function spectrum_bls() {
32 setopt localoptions nopromptsubst
33 local ZSH_SPECTRUM_TEXT=${ZSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris}
34 for code in {000..255}; do
35 print -P -- "$code: ${BG[$code]}${ZSH_SPECTRUM_TEXT}%{$reset_color%}"