diff --git a/zsh.d/20-termcolors.zsh.off b/zsh.d/20-termcolors.zsh.off new file mode 100644 index 0000000..009b6ff --- /dev/null +++ b/zsh.d/20-termcolors.zsh.off @@ -0,0 +1,52 @@ +####################################################################################### +# Colorize terminal +autoload colors zsh/terminfo +zmodload zsh/terminfo + +if [[ "$terminfo[colors]" -ge 8 ]]; then + colors +fi +# for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do + # eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}' + # eval PR_LIGHT_$color='%{$fg[${(L)color}]%}' + # # (( count = $count + 1 )) +# done +# PR_NO_COLOR="%{$terminfo[sgr0]%}" + +# unset color +# + +typeset -Ag FX FG BG + +FX=( + reset "%{%}" + bold "%{%}" no-bold "%{%}" + italic "%{%}" no-italic "%{%}" + underline "%{%}" no-underline "%{%}" + blink "%{%}" no-blink "%{%}" + reverse "%{%}" no-reverse "%{%}" +) + +for color in {000..255}; do + FG[$color]="%{[38;5;${color}m%}" + BG[$color]="%{[48;5;${color}m%}" +done + + +ZSH_SPECTRUM_TEXT=${ZSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris} + +# Show all 256 colors with color number +function spectrum_ls() { + for code in {000..255}; do + # print -P -- "$code: %F{$code}$ZSH_SPECTRUM_TEXT%f" + print -P -- "$FG[$code]$code: $ZSH_SPECTRUM_TEXT $FX[reset]" + done +} + +# Show all 256 colors where the background is set to specific color +function spectrum_bls() { + for code in {000..255}; do + print -P -- "$BG[$code]$code: $ZSH_SPECTRUM_TEXT $FX[reset]" + done +} +# vim: set ts=4 sw=4 tw=0 ft=zsh :