mirror of https://github.com/rwxrob/dot
feat: add center
parent
e68876acd8
commit
8b273c7c18
@ -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…
Reference in New Issue