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