2010-04-27 07:02:19 +08:00
|
|
|
|
#! /bin/zsh
|
|
|
|
|
# A script to make using 256 colors in zsh less painful.
|
|
|
|
|
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
2018-08-08 02:42:02 +08:00
|
|
|
|
# Copied from https://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
|
2010-04-27 07:02:19 +08:00
|
|
|
|
|
2015-06-08 19:07:45 +08:00
|
|
|
|
typeset -AHg FX FG BG
|
2010-04-27 07:02:19 +08:00
|
|
|
|
|
|
|
|
|
FX=(
|
2010-04-27 13:01:41 +08:00
|
|
|
|
reset "%{[00m%}"
|
|
|
|
|
bold "%{[01m%}" no-bold "%{[22m%}"
|
|
|
|
|
italic "%{[03m%}" no-italic "%{[23m%}"
|
|
|
|
|
underline "%{[04m%}" no-underline "%{[24m%}"
|
|
|
|
|
blink "%{[05m%}" no-blink "%{[25m%}"
|
|
|
|
|
reverse "%{[07m%}" no-reverse "%{[27m%}"
|
2010-04-27 07:02:19 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
for color in {000..255}; do
|
2010-04-27 13:01:41 +08:00
|
|
|
|
FG[$color]="%{[38;5;${color}m%}"
|
|
|
|
|
BG[$color]="%{[48;5;${color}m%}"
|
2010-04-27 07:02:19 +08:00
|
|
|
|
done
|
2011-07-23 22:42:43 +08:00
|
|
|
|
|
2013-12-31 21:54:34 +08:00
|
|
|
|
|
|
|
|
|
ZSH_SPECTRUM_TEXT=${ZSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris}
|
|
|
|
|
|
2011-07-23 22:42:43 +08:00
|
|
|
|
# Show all 256 colors with color number
|
|
|
|
|
function spectrum_ls() {
|
|
|
|
|
for code in {000..255}; do
|
2015-06-08 19:19:57 +08:00
|
|
|
|
print -P -- "$code: %{$FG[$code]%}$ZSH_SPECTRUM_TEXT%{$reset_color%}"
|
2011-07-23 22:42:43 +08:00
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
2013-10-16 18:36:48 +08:00
|
|
|
|
# Show all 256 colors where the background is set to specific color
|
|
|
|
|
function spectrum_bls() {
|
|
|
|
|
for code in {000..255}; do
|
2015-06-08 19:19:57 +08:00
|
|
|
|
print -P -- "$code: %{$BG[$code]%}$ZSH_SPECTRUM_TEXT%{$reset_color%}"
|
2013-10-16 18:36:48 +08:00
|
|
|
|
done
|
|
|
|
|
}
|