| 
									
										
										
										
											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 "$@" |