From 3769b3cc5c3808589f3e00c305bdaa4552648998 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Tue, 12 Apr 2022 23:25:02 -0700 Subject: [PATCH] added spanner function --- functions | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/functions b/functions index 1e9b962..62d60d6 100644 --- a/functions +++ b/functions @@ -218,6 +218,21 @@ boxseparator(){ echo } +# For printing center-justified text. To change the padding character, replace the ' ' <~~ whitespace in front of the '{' in the padding variable +center() { + padding="$(printf '%0.2s' ={1..500})" + #padding=" " + printf '%*.*s %s %*.*s\n' 0 "$(((BOXWIDTH-2-${#1})/2))" "$left_border$padding" "$1" 0 "$(((BOXWIDTH-1-${#1})/2))" "$padding$right_border" +} + +# For printing spanned text, e.g. single-pair lists ($name...$title) +spanner() { + # 1: left-side-text, 2: right-side-text + local spanner=""; + eval printf -v spanner \'"%0.1s"\' "-"{1..$[$(BOXWIDTH)- 2 - ${#1} - ${#2}]} + printf "%s %s %s" "$1" "$spanner" "$2"; +} + boxborder(){ boxtop for line in "$@" ; do