RED='\e[31m'
GREEN='\e[32m'
YELLOW='\e[33m'
BLUE='\e[34m'
MAGENTA='\e[35m'
CYAN='\e[36m'
RESET='\e[0m'
function confirm::yA () {
# Ask for confirmation before launching command.
# usage example:
# confirm::yA --onAbort abordAction
# "deleting target folder?" \
# rm -rf target
local EXIT_CMD="true";
local ON_ERR_ECHO;
while [[ "$1" == --* ]]; do
case $1 in
--onAbort) EXIT_CMD="$2" ; shift 2 ;;
esac
done
local MSG=$1 ; shift
local CONFIRM
printf -v PROMPT "${MSG}"
read -r -p "
${PROMPT} [y/A] " CONFIRM
case "$CONFIRM" in
y|Y|yes) "$@" ;;
*) [[ -n "$ON_ERR_ECHO" ]] && echo "$ON_ERR_ECHO" ; $EXIT_CMD ;;
esac
}
dryRun() {
echo "$@"
}
yq() {
docker run --rm -i -v "${PWD}":/workdir mikefarah/yq "$@"
}
log::step() {
echo -e "⇨" "..." "$@"
}
log::done() {
echo -e "✅" "\\o/" "$@"
}
log::fail() {
echo -e "❌" "!!!" "$@"
}