Files
colorshell/scripts/utils.sh
T
2025-08-31 13:38:33 -03:00

76 lines
1.7 KiB
Bash

# This script contains useful functions to be used
# in other scripts from colorshell.
# ----------
# Made by retrozinndev (João Dias)
# Licensed under the BSD 3-Clause License
# From: https://github.com/retrozinndev/colorshell
# -------------
# The repository's api url
# -------------
repo_api_url=https://api.github.com/repos/retrozinndev/colorshell
# -------------
# Sends stdout log with type and message provided
# in parameters.
# param $1 (optional) log type (err[or], warn[ing]), if not any of list, print as info
# param $2 log message
# -------------
function Send_log() {
log_message=`[[ -z $2 ]] && echo $1 || echo $2`
color="\e[34m"
log_type="info"
case "${1,,}" in
warn)
color="\e[33m"
log_type="warning"
;;
err)
color="\e[31m"
log_type="error"
;;
esac
echo -e "${color}[$log_type]\e[0m $log_message"
}
# -------------
# Prints retrozinndev/colorshell installation
# script's welcome header on stdout
# -------------
function Print_header() {
printf "\n"
echo "#############################"
echo "## Colorshell Installation ##"
echo "#############################"
printf "\n"
}
# -------------
# Ask a yes/no question to user
# Input answer is exported as $answer
# -------------
function Ask() {
read -n 1 -p "$@ [y/n] " answer
printf '\n'
if [[ ! $answer =~ [yn] ]]; then
Ask "$@" # restart if different from accepted chars
fi
export answer
}
# -------------
# Ask the user to choose a number from the provided list
# Input answer is exported as $answer
# (this function is not done yet)
# -------------
function Choose() {
read -n 1 -p "$1 [y/n] " r
printf '\n'
export answer=$r
}