rwxrob-dot/scripts/htitle
Rob Muhlestein 2ea0289e9f Rebase
2022-02-09 02:29:05 -05:00

24 lines
524 B
Bash
Executable File

#!/usr/bin/env bash
# Produces a centered title in the middle of a horizontal rule of text.
_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 "# $(echon "$char" "$left") "$str" $(echon "$char" "$right")"
}
htitle "$@"