@@ -693,6 +693,66 @@ url_exists() { curl --head --silent -S --fail --output /dev/null "$@" 1>/dev/nul
693693#
694694#
695695#
696+ # effects
697+ clr_reset_all=" \e[0m"
698+ clr_bold=" \e[1m"
699+ clr_dim=" \e[2m"
700+ clr_italic=" \e[3m"
701+ clr_underline=" \e[4m"
702+ clr_blink=" \e[5m"
703+ clr_rapic_blink=" \e[6m"
704+ clr_invert=" \e[7m"
705+ clr_hide=" \e[8m"
706+ clr_strike=" \e[9m"
707+ # reset effects
708+ clr_reset_bold=" \e[21m"
709+ clr_reset_dim=" \e[22m"
710+ clr_reset_italic=" \e[23m"
711+ clr_reset_underline=" \e[24m"
712+ clr_reset_blink=" \e[25m"
713+ clr_reset_spacing=" \e[26m"
714+ clr_reset_invert=" \e[27m"
715+ clr_reset_hide=" \e[28m"
716+ clr_reset_crossout=" \e[29m"
717+ # 16-color fg
718+ black=" \e[30m"
719+ red=" \e[31m"
720+ green=" \e[32m"
721+ yellow=" \e[33m"
722+ blue=" \e[34m"
723+ megenta=" \e[35m"
724+ cyan=" \e[36m"
725+ white=" \e[37m"
726+ # 16-color bright fg
727+ bright_black=" \e[90m"
728+ bright_red=" \e[91m"
729+ bright_green=" \e[92m"
730+ bright_yellow=" \e[93m"
731+ bright_blue=" \e[94m"
732+ bright_megenta=" \e[95m"
733+ bright_cyan=" \e[96m"
734+ bright_white=" \e[97m"
735+ # 16-color bg
736+ bg_black=" \e[40m"
737+ bg_red=" \e[41m"
738+ bg_green=" \e[42m"
739+ bg_yellow=" \e[43m"
740+ bg_blue=" \e[44m"
741+ bg_megenta=" \e[45m"
742+ bg_cyan=" \e[46m"
743+ bg_white=" \e[47m"
744+ # 16-color bright bg
745+ bg_bright_black=" \e[100m"
746+ bg_bright_red=" \e[101m"
747+ bg_bright_green=" \e[102m"
748+ bg_bright_yellow=" \e[103m"
749+ bg_bright_blue=" \e[104m"
750+ bg_bright_megenta=" \e[105m"
751+ bg_bright_cyan=" \e[106m"
752+ bg_bright_white=" \e[107m"
753+ #
754+ #
755+ #
696756headline () { printf " \e[0;1m$@ \e[0m:\n" ; }
697757headline_begin () { printf " \e[0;1m" ; } # for more color, see: shttps://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
698758headline_end () { printf " \e[0m:\n" ; } # https://misc.flogisoft.com/bash/tip_colors_and_formatting
@@ -704,13 +764,54 @@ printf_blue() { printf "\e[0;34m$@\e[0m:\n"; }
704764printf_purple () { printf " \e[0;35m$@ \e[0m:\n" ; }
705765printf_cyan () { printf " \e[0;36m$@ \e[0m:\n" ; }
706766printf_white () { printf " \e[0;37m$@ \e[0m:\n" ; }
767+ println16 () { # eg: println16 31 "hello"
768+ local clr=" ${1:- 31} " && (( $# )) && shift
769+ printf " \e[${clr} m$@ \e[0m\n"
770+ }
771+ println256 () { # eg: println256 255 "hello"
772+ local byte=" ${1:- 128} " && (( $# )) && shift
773+ printf " \e[38;5;${byte} m$@ \e[0m\n"
774+ }
775+ printlnrgb () { # eg: printlnrgb 133 133 133 "hello"
776+ local r=" ${1:- 128} " && (( $# )) && shift
777+ local g=" ${1:- 128} " && (( $# )) && shift
778+ local b=" ${1:- 128} " && (( $# )) && shift
779+ printf " \e[38;2;${r} ;${g} ;${b} m$@ \e[0m\n"
780+ }
781+ printlnrgb_special () {
782+ local r=" ${1:- 128} " && (( $# )) && shift
783+ local g=" ${1:- 128} " && (( $# )) && shift
784+ local b=" ${1:- 128} " && (( $# )) && shift
785+ printf " \e[38;0;${r} ;${g} ;${b} m$@ \e[0m\n"
786+ }
787+ printlnrgb_transparent () {
788+ local r=" ${1:- 128} " && (( $# )) && shift
789+ local g=" ${1:- 128} " && (( $# )) && shift
790+ local b=" ${1:- 128} " && (( $# )) && shift
791+ printf " \e[38;1;${r} ;${g} ;${b} m$@ \e[0m\n"
792+ }
793+ printlnrgb_cmy () {
794+ local cs=" ${1:- 128} " && (( $# )) && shift
795+ local r=" ${1:- 128} " && (( $# )) && shift
796+ local g=" ${1:- 128} " && (( $# )) && shift
797+ local b=" ${1:- 128} " && (( $# )) && shift
798+ printf " \e[38;3;${r} ;${g} ;${b} ;${cs} m$@ \e[0m\n"
799+ }
800+ printlnrgb_cmyb () {
801+ local cs=" ${1:- 128} " && (( $# )) && shift
802+ local r=" ${1:- 128} " && (( $# )) && shift
803+ local g=" ${1:- 128} " && (( $# )) && shift
804+ local b=" ${1:- 128} " && (( $# )) && shift
805+ printf " \e[38;4;${r} ;${g} ;${b} ;${cs} m$@ \e[0m\n"
806+ }
707807h1 () { printf " \e[30;104;1m\e[2K\n\e[A%s\e[00m\n\e[2K" " $@ " ; } # style first header
708808h2 () { printf " \e[30;104m\e[1K\n\e[A%s\e[00m\n\e[2K" " $@ " ; } # style second header
709809debug () { in_debug && printf " \e[0;38;2;133;133;133m$@ \e[0m\n" || : ; }
710810debug_begin () { printf " \e[0;38;2;133;133;133m" ; }
711811debug_end () { printf " \e[0m\n" ; }
712812dbg () { (( DEBUG)) && printf " >>> \e[0;38;2;133;133;133m$@ \e[0m\n" || : ; }
713813tip () { printf " \e[0;38;2;133;133;133m>>> $@ \e[0m\n" ; }
814+ wrn () { printf " \e[0;38;2;172;172;22m... [WARN] \e[0;38;2;11;11;11m$@ \e[0m\n" ; }
714815err () { printf " \e[0;33;1;133;133;133m>>> $@ \e[0m\n" 1>&2 ; }
715816mvif () {
716817 local src=" $1 " dstdir=" $2 "
0 commit comments