You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.1 KiB
Bash

4 years ago
#!/usr/bin/env bash
# vim:ts=4:sts=4:sw=4:et
# shellcheck disable=SC1090
#
# Author: Hari Sekhon
# Date: 2020-08-13 19:38:39 +0100 (Thu, 13 Aug 2020)
#
# https://github.com/harisekhon/bash-tools
#
# License: see accompanying Hari Sekhon LICENSE file
#
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
#
# https://www.linkedin.com/in/harisekhon
#
set -euo pipefail
[ -n "${DEBUG:-}" ] && set -x
if is_piped || [ -n "${NO_FORMATTING:-}" ]; then
formatting=''
else
# want deferred expansion
# shellcheck disable=SC2016
formatting='"[box,title=\"$title\"]"'
fi
gcp_info(){
local title="$1"
shift || :
4 years ago
#perl -e "print '=' x (${#title} + 1);"
4 years ago
for ((i=0; i <= ${#title}; i++)); do
4 years ago
#printf '='
# built-in - not as portable eg. sh, but given we explicitly execute in bash should be ok
echo -n '='
4 years ago
done
echo
echo "$title:"
4 years ago
# better than eval'ing the entire command line to evaluate $title in the formatting string interpolation
"$@" --format="$(eval echo "$formatting")"
4 years ago
echo
}