diff --git a/reporting/qolop b/reporting/qolop new file mode 100644 index 0000000..88a10df --- /dev/null +++ b/reporting/qolop @@ -0,0 +1,75 @@ +# Quick shell COLOrizer Package +# Source in BASH + +# Examples: +# As functions: +# _title(){ _qCol z G; } +# _z(){ _qCol z; } +# _title; echo Title; _z + +# As variables +# TITLE=$( _qCol z G; ) +# Z=$( _qCol z; ) +# echo ${TITLE}Title${Z} + + +_qCol() { + local K="\033[1;30m" + local R="\033[1;31m" + local G="\033[1;32m" + local B="\033[1;34m" + local Y="\033[1;33m" + local M="\033[1;35m" + local C="\033[1;36m" + local W="\033[1;37m" + + local k="\033[0;30m" + local r="\033[0;31m" + local g="\033[0;32m" + local b="\033[0;34m" + local y="\033[0;33m" + local m="\033[0;35m" + local c="\033[0;36m" + local w="\033[0;37m" + + local bk="\033[40m" + local br="\033[41m" + local bg="\033[42m" + local by="\033[43m" + local bb="\033[44m" + local bm="\033[45m" + local bc="\033[46m" + local bw="\033[47m" + + local S='\033[1m' #strong + local s='\033[2m' #strong off + local U='\033[4m' #underline + local u='\033[24m' #underline off + local z='\033[0m' #zero colors + local Z='\033[0m' #zero colors + local ic='\033[7m' #inverse colors + local io='\033[27m' #inverse off + local st='\033[9m' #strike on + local so='\033[29m' #strike off + local CLRLIN='\033[2J' + local CLREND='\033[K' + local CLRBEG='\033[1K' + local CLRSCR="$CLRLIN"'\033[0;0H' + + local color_keys=" K R G B Y M C W k r g b y m c w S s U u z Z ic io st so bk br bg by bb bm bc bw CLRLIN CLREND CLRBEG CLRSCR " + + local arg val + for ((arg=1;arg<=$#;arg++)) { + val=${!arg} + [[ ${color_keys} = *" $val "* ]] || { echo "No such color code '${val}'" >&2; return 1; } + printf ${!val} + } +} + +_qCode() { + local arg val + for ((arg=1;arg<=$#;arg++)) { + val=${!arg} + printf '\033['"${val}m" + } +}