Compare commits

..

No commits in common. "master" and "1.0" have entirely different histories.
master ... 1.0

2 changed files with 88 additions and 54 deletions

View File

@ -1,13 +1,10 @@
[project] [project]
vendor = bes vendor = bes
name = echo name = echo
version = 1.4 version = 1.0
license = "GNU GPL v3" license = "GNU GPL v3"
author = a-Sansara author = a-Sansara
type = library type = library
homepage = "https://git.pluie.org/meta-tech/bes-echo" homepage = "https://git.pluie.org/meta-tech/bes-echo"
description = "bash bes display utility library" description = "bash bes display utility library"
keywords = "bash, bes" keywords = "bash, bes"
[require]
bes.color = 1.3

View File

@ -1,3 +1,4 @@
#!/bin/bash
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# #
# @author a-Sansara - https://git.pluie.org/meta-tech/bes-echo # @author a-Sansara - https://git.pluie.org/meta-tech/bes-echo
@ -6,51 +7,82 @@
# @date 2017-05-13 23:50:54 CET # @date 2017-05-13 23:50:54 CET
# #
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.echo.boot () bes.echo.boot ()
{ {
BES_TERM_WIDTH=${COLUMNS:-130} BES_TERM_WIDTH=${BES_TERM_WIDTH:-105}
BES_TERM_WIDTH=$(($BES_TERM_WIDTH - 20)) BES_NOCOLOR=${BES_NOCOLOR:-0}
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if [ "$BES_NOCOLOR" -eq 0 ]; then
function echo.msg () Cok="\033[0;38;5;43m"; Cko="\033[0;38;5;217m"
{ Coff="\033[m"; Ctitle="\033[1;48;5;24;1;38;5;15m"
local c=${2:-} Cdone="\033[1;48;5;36;1;38;5;15m"; Cfail="\033[1;48;5;196;1;38;5;15m"
local m=${1:-} Cspe="\033[1;38;5;223m"; Citem="\033[1;38;5;214m"
echo -e " $c$m$Coff" Cval="\033[1;38;5;215m"; Cusa="\033[1;38;5;214m"
} Cbra="\033[1;38;5;203m"; Crepo="\033[1;38;5;223m"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cmeta="\033[1;38;5;30m"; Ctext="\033[1;38;5;30m"
function echo.state () Copt="\033[1;38;5;81m"; Csep="\033[1;38;5;241m"
{ Cerr="\033[1;38;5;196m"; Ccom="\033[0;38;5;139m"
local len=14 Csection="\033[1;38;5;97m"; Caction="\033[0;38;5;37m"
echo -en " $Csep"
printf "%0.s-" $(seq 1 $(($BES_TERM_WIDTH-${len})))
if [ "$1" = 0 ]; then
echo -e "$Coff $Cdone OK $Coff\n"
else
echo -e "$Coff $Cfail KO $Coff\n"
fi fi
} }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function echo.action () bes.echo ()
{ {
local symbol=${3:-*} local msg=${1:-''}
local color=${4:-Citem} local isAction=${2:-'0'}
echo -e " $Csymbol$symbol ${Caction}$1 ${!color}$2$Coff" local symbol=${3:-' *'}
if [ ! "$BES_NOCOLOR" = 1 ]; then
local c=" "
if [ -z "$isAction" ] || [ "$isAction" = 1 ]; then
c=$Caction
fi
if [ ! "$isAction" = 0 ]; then
c=" $Citem$symbol $c"
fi
echo -e " $c$msg$Coff"
else
if [ ! "$isAction" = 0 ]; then
msg=" $symbol $msg"
fi
echo -e "$msg"
fi
} }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function echo.title () bes.echo.action ()
{ {
echo -e "\n $Csymbol$Ctitle$1 $Coff$Cspe$2$Coff\n" bes.echo "$1" 1
} }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function echo.keyval () bes.echo.title ()
{ {
local len=${3:-20} echo
local c="$Ckey: ${Cval}" bes.echo " ${Citem}${Csection}$1 ${Cspe}$2${Coff}"
echo -e " $Ckey $(printf "%-${len}s " "$1") ${c}${2} $Coff" echo
} }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function echo.rs () bes.echo.keyval ()
{
local c=': '
if [ ! "$BES_NOCOLOR" = 1 ]; then
c="$Citem: ${Cval}"
fi
local len="%-15s "
# printf "%s %s [UP]\n" $PROC_NAME "${line:${#PROC_NAME}}"
bes.echo "$(printf $len $1) $c$2 " 1 " "
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bes.echo.state ()
{
local len=8
printf "%0.s " $(seq 1 $(($BES_TERM_WIDTH-${len})))
if [ "$1" = 0 ]; then
echo -e "${Cdone} OK ${Coff}"
else
echo -e "${Cfail} KO ${Coff}"
fi
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bes.echo.rs ()
{ {
local rs=${1:-0} local rs=${1:-0}
if [ "$rs" -eq 0 ]; then if [ "$rs" -eq 0 ]; then
@ -60,42 +92,47 @@ function echo.rs ()
fi fi
} }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function echo.error () bes.echo.error ()
{ {
local leave=${2:-0}
echo -e "\n${Cerr} error : ${Coff}\n\t$1 ${Coff}\n" echo -e "\n${Cerr} error : ${Coff}\n\t$1 ${Coff}\n"
if [ "$leave" = "1" ]; then
exit 1;
fi
} }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function echo.sepline () bes.echo.sepline ()
{ {
local char=${1:-'_'} local char=${1:-'_'}
local width=${2:-$BES_TERM_WIDTH} local width=${2:-$BES_TERM_WIDTH}
echo -ne "${Cheadline} " echo -ne "${Csep} "
printf "%0.s$char" $(seq 1 $width) printf "%0.s$char" $(seq 1 $width)
echo -e "${Coff}" echo -e "${Coff}"
} }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function echo.app () bes.echo.app ()
{ {
local msg=${1:-''} local msg=${1:-''}
local version=${2:-''} local version=${2:-''}
local author=${3:-'a-Sansara'} local author=${3:-'a-Sansara'}
local license=${4:-'GNU GPL v3'}
if [ ! -z "$2" ]; then if [ ! -z "$2" ]; then
msg="$msg ${Cval}v$version" msg="$msg ${Cval}v$version"
fi fi
local len="$1${version}license : $license author:$author" local len="$1${version}license : GNU GPL v3 author:$author"
echo.sepline bes.echo.sepline
echo -ne "\n $Chead $msg $Coff" echo -ne "\n $Ctitle $msg $Coff"
printf "%0.s " $(seq 1 $(($BES_TERM_WIDTH-${#len}-15))) printf "%0.s " $(seq 1 $(($BES_TERM_WIDTH-${#len}-15)))
echo -e " ${Cmeta}license : ${Coff}$license ${Cmeta}author : ${Cval}$author" echo -e " ${Cmeta}license : ${Coff}GNU GPL v3 ${Cmeta}author : ${Cval}$author"
echo.sepline bes.echo.sepline
} }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
declare -f bes.reg > /dev/null bes.echo.colormap ()
if [ $? -eq 0 ]; then {
bes.reg bes.echo for fgbg in 38 48 ; do
for color in {0..256} ; do
echo -en "\e[${fgbg};5;${color}m ${color}\t\e[0m"
if [ $((($color + 1) % 7)) == 0 ] ; then
echo
fi fi
done
echo
done
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bes.echo.boot