Update examples
This commit is contained in:
parent
775abb29d1
commit
9ed4e9efd7
14 changed files with 720 additions and 5 deletions
36
examples/termescape/figlet-pagga-block
Executable file
36
examples/termescape/figlet-pagga-block
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/bin/zsh
|
||||
zparseopts -D -E p:=padding -padding:=padding
|
||||
lines=("$@")
|
||||
if [[ -z $lines ]]; then
|
||||
lines=()
|
||||
while read line; do
|
||||
lines+=($line)
|
||||
done
|
||||
fi
|
||||
|
||||
width=0
|
||||
for line in $lines; do
|
||||
if [[ ${#line} -gt $width ]]; then
|
||||
width=${#line}
|
||||
fi
|
||||
done
|
||||
|
||||
lpad_width=$((width + ${padding[2]:-0}))
|
||||
rpad_width=$((lpad_width * 2))
|
||||
|
||||
pagga=( $(
|
||||
for i in {1..$#lines}; do
|
||||
line=$lines[$i]
|
||||
padded="${(r:$(( rpad_width - ${#line})):: :)${(l:${lpad_width}:: :)line}}"
|
||||
spaces=$(echo $line | tr -cd ' ' | wc -c)
|
||||
if [[ $spaces -gt 0 ]]; then
|
||||
padded="$padded${(l:spaces:: :)}"
|
||||
fi
|
||||
echo $padded
|
||||
done | figlet -fpagga -t
|
||||
) )
|
||||
|
||||
left_space=$(( (COLUMNS - ${#pagga[1]}) / 2 ))
|
||||
for line in ${pagga[*]}; do
|
||||
echo "${(l:left_space:: :)}$line"
|
||||
done
|
Loading…
Add table
Add a link
Reference in a new issue