#!/bin/zsh # prcolors: Display all colors in a few different ways >>> # TODO: change this to make it not just a few scripts smashed together 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" # 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%%;} 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 # <<< 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 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