2021-12-21 02:42:18 +00:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
|
main() {
|
2021-12-21 02:44:51 +00:00
|
|
|
|
if [[ $(type -t "⚡️$1") == "function" ]]; then
|
|
|
|
|
⚡️$1
|
|
|
|
|
else
|
|
|
|
|
⚡️help
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
⚡️help() {
|
|
|
|
|
_help-line "Show this list" "$@"
|
|
|
|
|
echo Usage: "$0" SUBCOMMAND
|
|
|
|
|
echo
|
|
|
|
|
echo "Available subcommands:"
|
|
|
|
|
for subcommand in $(_subcommands); do
|
|
|
|
|
if [[ $(type ⚡️$subcommand) =~ _help-line ]]; then
|
|
|
|
|
printf "\t%-20s - %s\n" "$subcommand" "$(⚡️$subcommand help-line)"
|
|
|
|
|
else
|
2021-12-21 04:51:18 +00:00
|
|
|
|
printf "\t%-20s\n" $subcommand
|
2021-12-21 02:44:51 +00:00
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_subcommands() {
|
|
|
|
|
compgen -c ⚡️ | cut -c3-
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_help-line() {
|
|
|
|
|
if [[ "$#" == 2 && "$2" == "help-line" ]]; then
|
|
|
|
|
echo "$1" && exit 0
|
|
|
|
|
fi
|
2021-12-21 02:42:18 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-12-21 04:51:18 +00:00
|
|
|
|
_good-message() {
|
|
|
|
|
echo -e "\e[32m$@\e[0m"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_bad-message() {
|
|
|
|
|
echo -e "\e[31m$@\e[0m"
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-21 05:10:46 +00:00
|
|
|
|
[[ $(type -t _verify-prerequisites) == "function" ]] && ! _verify-prerequisites && exit 1
|
|
|
|
|
|
2021-12-21 02:42:18 +00:00
|
|
|
|
main "$@"
|