Update examples

This commit is contained in:
Alexander Gehrke 2025-01-09 19:26:28 +01:00
parent 775abb29d1
commit 9ed4e9efd7
14 changed files with 720 additions and 5 deletions

View 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