diff options
| author | mail_redacted_for_web | 2026-01-25 12:05:57 +0100 |
|---|---|---|
| committer | mail_redacted_for_web | 2026-01-25 12:05:57 +0100 |
| commit | c6294d51634587de210624821d915dc66996de95 (patch) | |
| tree | 79e63c482228380a00613d59a2a6222161da7a96 | |
| parent | e71b4ac145aee3380bdb2cf4b67ac3a931cd1263 (diff) | |
| download | os-patch-398f8f526e16567dda803056b4f8051bc09f8ead.tar.bz2 | |
Condense line functions, now usable by any string lengthv0.10.0
| -rwxr-xr-x | bin/os-patching-adhoc | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/bin/os-patching-adhoc b/bin/os-patching-adhoc index 0b496be..0e88731 100755 --- a/bin/os-patching-adhoc +++ b/bin/os-patching-adhoc @@ -22,29 +22,31 @@ fi # 0. Internal helpers -hline() { +myline() { + [ -z "$1" ] && return 1 [ -n "$COLUMNS" ] && MYCOLS="$COLUMNS" [ -z "$MYCOLS" ] && MYCOLS="$(/usr/bin/tput cols 2>/dev/null)" [ -z "$MYCOLS" ] && MYCOLS=16 - c=0 + # determine how often $1 fits into $MYCOLS + # bc rounds down, so we'll just mimick a ceiling function in bash + denom="${#1}" + (( iter=((MYCOLS+denom-1)/denom)-1 )) + (( leftover=MYCOLS-(denom*iter) )) printf '\033[1m' - while [ "$c" -lt "$MYCOLS" ]; do - printf '─' + c=0 + while [ "$c" -lt "$iter" ]; do + printf '%b' "$1" c="$((c+1))" done + printf '%b' "${1:0:leftover}" printf '\033[0m\n' } +hline() { + myline '─' +} dline() { - [ -n "$COLUMNS" ] && MYCOLS="$COLUMNS" - [ -z "$MYCOLS" ] && MYCOLS="$(/usr/bin/tput cols 2>/dev/null)" - [ -z "$MYCOLS" ] && MYCOLS=16 - c=0 - while [ "$c" -lt "$MYCOLS" ]; do - printf '┄' - c="$((c+1))" - done - printf '\n' + myline '┄' } header() { |
