rwxrob-dot/scripts/htitle
2022-03-01 18:04:52 -05:00

26 lines
537 B
Bash
Executable File

#!/usr/bin/env bash
# Produces a centered title in the middle of a horizontal rule of text.
pre='//'
_filter(){
[[ -n "$1" ]] && return 1
while IFS= read -ra args; do
"${FUNCNAME[1]}" "${args[@]}"
done
}
htitle() {
_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")"
}
htitle "$@"