prcolors: major bug fixes and formatting, and zsh is now the shell (fixes option 3)
This commit is contained in:
parent
da5d2d9597
commit
4dd6db0386
1 changed files with 77 additions and 77 deletions
|
@ -1,90 +1,90 @@
|
|||
#!/bin/bash
|
||||
#!/bin/zsh
|
||||
|
||||
# prcolors: Display all colors in a few different ways >>>
|
||||
# TODO: change this to make it not just a few scripts smashed together
|
||||
|
||||
[ -z "$1" ] && 1=0
|
||||
if [ $1 -eq '1' ];then
|
||||
# Taken from manjaro's bashrc >>>
|
||||
local fgc bgc vals seq0
|
||||
if [ "$1" -gt 0 ] && [ "$1" -lt 4 ]; then
|
||||
if [ $1 = '1' ];then
|
||||
# Taken from manjaro's bashrc >>>
|
||||
local fgc bgc vals seq0
|
||||
|
||||
printf "Color escapes are %s\n" '\e[${value};...;${value}m'
|
||||
printf "Values 30..37 are \e[33mforeground colors\e[m\n"
|
||||
printf "Values 40..47 are \e[43mbackground colors\e[m\n"
|
||||
printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n"
|
||||
printf "Color escapes are %s\n" '\e[${value};...;${value}m'
|
||||
printf "Values 30..37 are \e[33mforeground colors\e[m\n"
|
||||
printf "Values 40..47 are \e[43mbackground colors\e[m\n"
|
||||
printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n"
|
||||
|
||||
# foreground colors
|
||||
for fgc in {30..37}; do
|
||||
# background colors
|
||||
for bgc in {40..47}; do
|
||||
fgc=${fgc#37} # white
|
||||
bgc=${bgc#40} # black
|
||||
# foreground colors
|
||||
for fgc in {30..37}; do
|
||||
# background colors
|
||||
for bgc in {40..47}; do
|
||||
fgc=${fgc#37} # white
|
||||
bgc=${bgc#40} # black
|
||||
|
||||
vals="${fgc:+$fgc;}${bgc}"
|
||||
vals=${vals%%;}
|
||||
vals="${fgc:+$fgc;}${bgc}"
|
||||
vals=${vals%%;}
|
||||
|
||||
seq0="${vals:+\e[${vals}m}"
|
||||
printf " %-9s" "${seq0:-(default)}"
|
||||
printf " ${seq0}TEXT\e[m"
|
||||
printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
|
||||
seq0="${vals:+\e[${vals}m}"
|
||||
printf " %-9s" "${seq0:-(default)}"
|
||||
printf " ${seq0}TEXT\e[m"
|
||||
printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
|
||||
done
|
||||
echo; echo
|
||||
done
|
||||
echo; echo
|
||||
done
|
||||
# <<<
|
||||
elif [ $1 -eq '2' ];then
|
||||
# from base16shell >>>
|
||||
ansi_mappings=(
|
||||
Red Green
|
||||
Yellow Blue
|
||||
Magenta Cyan
|
||||
White Black
|
||||
Bright_Red Bright_Green
|
||||
Bright_Yellow Bright_Blue
|
||||
Bright_Magenta Bright_Cyan
|
||||
Bright_White Bright_Black
|
||||
)
|
||||
colors=(
|
||||
base00 base08
|
||||
base0B base0A
|
||||
base0D base0E
|
||||
base0C base05
|
||||
base03 base08
|
||||
base0B base0A
|
||||
base0D base0E
|
||||
base0C base07
|
||||
base09 base0F
|
||||
base01 base02
|
||||
base04 base06
|
||||
)
|
||||
for padded_value in `seq -w 0 21`; do
|
||||
color_variable="color${padded_value}"
|
||||
eval current_color=\$${color_variable}
|
||||
current_color=$(echo ${current_color//\//} | tr '[:lower:]' '[:upper:]') # get rid of slashes, and uppercase
|
||||
non_padded_value=$((10#$padded_value))
|
||||
base16_color_name=${colors[$non_padded_value]}
|
||||
current_color_label=${current_color:-unknown}
|
||||
ansi_label=${ansi_mappings[$non_padded_value]}
|
||||
block=$(printf "\x1b[48;5;${non_padded_value}m___________________________")
|
||||
foreground=$(printf "\x1b[38;5;${non_padded_value}m$color_variable")
|
||||
printf "%s %s %s %-30s %s\x1b[0m\n" $foreground $base16_color_name $current_color_label ${ansi_label:-""} $block
|
||||
done;
|
||||
#if [ $# -eq 1 ]; then
|
||||
# printf "To restore current theme, source ~/.base16_theme or reopen your terminal\n"
|
||||
#fi
|
||||
# <<<
|
||||
elif [ $1 -eq '3' ];then
|
||||
# Similar to above, but does 256-bit colors. >>>
|
||||
# Taken from this: https://github.com/romkatv/powerlevel10k#set-colors-through-Powerlevel10k-configuration-parameters
|
||||
for i in {0..255}; do
|
||||
print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}
|
||||
done
|
||||
# <<<
|
||||
# <<<
|
||||
elif [ $1 = '2' ];then
|
||||
# from base16shell >>>
|
||||
ansi_mappings=(
|
||||
Red Green
|
||||
Yellow Blue
|
||||
Magenta Cyan
|
||||
White Black
|
||||
Bright_Red Bright_Green
|
||||
Bright_Yellow Bright_Blue
|
||||
Bright_Magenta Bright_Cyan
|
||||
Bright_White Bright_Black
|
||||
)
|
||||
colors=(
|
||||
base00 base08
|
||||
base0B base0A
|
||||
base0D base0E
|
||||
base0C base05
|
||||
base03 base08
|
||||
base0B base0A
|
||||
base0D base0E
|
||||
base0C base07
|
||||
base09 base0F
|
||||
base01 base02
|
||||
base04 base06
|
||||
)
|
||||
for padded_value in `seq -w 0 21`; do
|
||||
color_variable="color${padded_value}"
|
||||
eval current_color=\$${color_variable}
|
||||
current_color=$(echo ${current_color//\//} | tr '[:lower:]' '[:upper:]') # get rid of slashes, and uppercase
|
||||
non_padded_value=$((10#$padded_value))
|
||||
base16_color_name=${colors[$non_padded_value]}
|
||||
current_color_label=${current_color:-unknown}
|
||||
ansi_label=${ansi_mappings[$non_padded_value]}
|
||||
block=$(printf "\x1b[48;5;${non_padded_value}m___________________________")
|
||||
foreground=$(printf "\x1b[38;5;${non_padded_value}m$color_variable")
|
||||
printf "%s %s %s %-30s %s\x1b[0m\n" $foreground $base16_color_name $current_color_label ${ansi_label:-""} $block
|
||||
done;
|
||||
#if [ $# -eq 1 ]; then
|
||||
# printf "To restore current theme, source ~/.base16_theme or reopen your terminal\n"
|
||||
#fi
|
||||
# <<<
|
||||
elif [ $1 = '3' ];then
|
||||
# Similar to above, but does 256-bit colors. >>>
|
||||
# Taken from this: https://github.com/romkatv/powerlevel10k#set-colors-through-Powerlevel10k-configuration-parameters
|
||||
for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
|
||||
# <<<
|
||||
fi
|
||||
else
|
||||
cat <<-EOF
|
||||
Usage: prcolors <printing method number>
|
||||
1: Manjaro bashrc -- for checking text readability
|
||||
2: base26shell -- for seeing the 16 set terminal colors
|
||||
3: 256 -- for testing 256 color output
|
||||
EOF
|
||||
Usage: prcolors <printing method number>
|
||||
1: Manjaro bashrc -- for checking text readability
|
||||
2: base26shell -- for seeing the 16 set terminal colors
|
||||
3: 256 -- for testing 256 color output
|
||||
EOF
|
||||
fi
|
||||
|
||||
# vim:foldmarker=>>>,<<< fdm=marker foldlevel=1
|
||||
|
|
Loading…
Add table
Reference in a new issue