]> src.twobees.de Git - dotfiles.git/blob - stow/oh-my-zsh/.oh-my-zsh/lib/spectrum.zsh
...
[dotfiles.git] / stow / oh-my-zsh / .oh-my-zsh / lib / spectrum.zsh
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/
4
5 typeset -AHg FX FG BG
6
7 FX=(
8   reset     "%{\e[00m%}"
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%}"
14 )
15
16 for color in {000..255}; do
17   FG[$color]="%{\e[38;5;${color}m%}"
18   BG[$color]="%{\e[48;5;${color}m%}"
19 done
20
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%}"
27   done
28 }
29
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%}"
36   done
37 }