mirror of
https://github.com/rwxrob/dot
synced 2024-11-16 21:25:29 +00:00
24 lines
520 B
Plaintext
24 lines
520 B
Plaintext
|
#!/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
|
||
|
}
|
||
|
|
||
|
hsep() {
|
||
|
_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")"
|
||
|
}
|
||
|
|
||
|
hsep "$@"
|