feat: add center

main
Rob Muhlestein 12 months ago
parent b08ffa6236
commit 2c0d38fd8b

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Produces a centered text based on HRULEWIDTH environment variable.
: "${HRULEWIDTH:=73}"
_filter() {
[[ -n "$1" ]] && return 1
while IFS= read -ra args; do
"${FUNCNAME[1]}" "${args[@]}"
done
}
center() {
_filter "$@" && return $?
local str="$1" char="${2:- }"
local -i len=${#str}
local -i side=$((((HRULEWIDTH / 2) - len / 2) - 3))
local -i left=$side
local -i right=$side
((len % 2 == 1)) && ((right -= 1))
echo "$pre $(echon "$char" "$left") "$str" $(echon "$char" "$right")"
}
center "$@"
Loading…
Cancel
Save