v2.0.2
===================================================================== --- Changes ------------------------------ - improved colors readability by naming color variables in zsh/utils --- Bug Fixes ---------------------------- - aws/efs/mount wouldn't mount if the previous session was not explicitly unmounted. now it does :)
This commit is contained in:
parent
f30eb7fb9e
commit
db0d0092db
5
scwrypts
5
scwrypts
@ -12,7 +12,7 @@ __RUN() {
|
|||||||
while [[ $# -gt 0 ]]
|
while [[ $# -gt 0 ]]
|
||||||
do
|
do
|
||||||
case $1 in
|
case $1 in
|
||||||
-e|--env )
|
-e | --env )
|
||||||
[ $ENV_NAME ] && __WARNING 'overwriting session environment'
|
[ $ENV_NAME ] && __WARNING 'overwriting session environment'
|
||||||
ENV_NAME="$2"
|
ENV_NAME="$2"
|
||||||
__STATUS "using CLI environment '$ENV_NAME'"
|
__STATUS "using CLI environment '$ENV_NAME'"
|
||||||
@ -196,8 +196,7 @@ __VALIDATE_UPSTREAM_TIMELINE() {
|
|||||||
__GET_LOGFILE() {
|
__GET_LOGFILE() {
|
||||||
local SCRIPT="$1"
|
local SCRIPT="$1"
|
||||||
|
|
||||||
[ $CI ] \
|
[ $SUBSCWRYPT ] \
|
||||||
|| [ $SUBSCWRYPT ] \
|
|
||||||
|| [[ $SCRIPT =~ scwrypts/logs ]] \
|
|| [[ $SCRIPT =~ scwrypts/logs ]] \
|
||||||
|| [[ $SCRIPT =~ interactive ]] \
|
|| [[ $SCRIPT =~ interactive ]] \
|
||||||
&& return 0
|
&& return 0
|
||||||
|
@ -19,6 +19,7 @@ _EFS_CONNECT() {
|
|||||||
[ ! $FS_ID ] && __ABORT
|
[ ! $FS_ID ] && __ABORT
|
||||||
|
|
||||||
local MOUNT_POINT="$AWS__EFS__LOCAL_MOUNT_POINT/$FS_ID"
|
local MOUNT_POINT="$AWS__EFS__LOCAL_MOUNT_POINT/$FS_ID"
|
||||||
|
[ -d "$MOUNT_POINT" ] && sudo rmdir "$MOUNT_POINT" >/dev/null 2>&1
|
||||||
[ -d "$MOUNT_POINT" ] && {
|
[ -d "$MOUNT_POINT" ] && {
|
||||||
__STATUS "$FS_ID is already mounted"
|
__STATUS "$FS_ID is already mounted"
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -55,17 +55,3 @@ _REQUIRED_ENV+=(
|
|||||||
source ./path/to/utils.plugin.zsh
|
source ./path/to/utils.plugin.zsh
|
||||||
echo "missing $ENV_ERROR_COUNT required environment variables"
|
echo "missing $ENV_ERROR_COUNT required environment variables"
|
||||||
```
|
```
|
||||||
|
|
||||||
io.zsh
|
|
||||||
os.zsh
|
|
||||||
|
|
||||||
## Basic Utilities
|
|
||||||
|
|
||||||
One of my biggest pet-peeves with scripting is when every line of a *(insert-language-here)* program is escaped to shell.
|
|
||||||
This kind of program, which doesn't use language features, should be a shell script.
|
|
||||||
While there are definitely unavoidable limitations to shell scripting, we can minimize a variety of problems with a modern shell and shared utilities library.
|
|
||||||
|
|
||||||
Loaded by `common.zsh`, the [`utils/` library](./utils) provides:
|
|
||||||
- common function wrappers to unify flags and context
|
|
||||||
- lazy dependency and environment variable validation
|
|
||||||
- consistent (and pretty) user input / output
|
|
||||||
|
25
zsh/utils/colors.zsh
Normal file
25
zsh/utils/colors.zsh
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
__BLACK='\033[0;30m'
|
||||||
|
__DARK_GRAY='\033[1;30m'
|
||||||
|
|
||||||
|
__RED='\033[0;31m'
|
||||||
|
__LIGHT_RED='\033[1;31m'
|
||||||
|
|
||||||
|
__GREEN='\033[0;32m'
|
||||||
|
__LIGHT_GREEN='\033[1;32m'
|
||||||
|
|
||||||
|
__ORANGE='\033[0;33m'
|
||||||
|
__YELLOW='\033[1;33m'
|
||||||
|
|
||||||
|
__BLUE='\033[1;34m'
|
||||||
|
__DARK_BLUE='\033[0;34m'
|
||||||
|
|
||||||
|
__PURPLE='\033[1;35m'
|
||||||
|
__DARK_PURPLE='\033[0;35m'
|
||||||
|
|
||||||
|
__CYAN='\033[1;36m'
|
||||||
|
__DARK_CYAN='\033[0;36m'
|
||||||
|
|
||||||
|
__WHITE='\033[1;37m'
|
||||||
|
__LIGHT_GRAY='\033[0;37m'
|
||||||
|
|
||||||
|
__COLOR_RESET='\033[0m'
|
@ -1,14 +1,28 @@
|
|||||||
__ERROR() { echo "\\033[1;31mERROR ✖ : $@\\033[0m" >&2; }
|
__PRINT() {
|
||||||
__SUCCESS() { echo "\\033[1;32mSUCCESS ✔ : $@\\033[0m" >&2; }
|
local COLOR="$1"
|
||||||
__WARNING() { echo "\\033[1;33mWARNING : $@\\033[0m" >&2; }
|
local MESSAGE="$2"
|
||||||
__STATUS() { echo "\\033[1;34mSTATUS : $@\\033[0m" >&2; }
|
|
||||||
__REMINDER() { echo "\\033[1;35mREMINDER : $@\\033[0m" >&2; }
|
local LINE_END
|
||||||
|
[ $3 ] && LINE_END='' || LINE_END='\n'
|
||||||
|
|
||||||
|
printf "${COLOR}${MESSAGE}${__COLOR_RESET}${LINE_END}"
|
||||||
|
}
|
||||||
|
|
||||||
|
__ERROR() { __PRINT $__RED "ERROR ✖ : $@" >&2; }
|
||||||
|
__SUCCESS() { __PRINT $__GREEN "SUCCESS ✔ : $@" >&2; }
|
||||||
|
__WARNING() { __PRINT $__ORANGE "WARNING : $@" >&2; }
|
||||||
|
__STATUS() { __PRINT $__BLUE "STATUS : $@" >&2; }
|
||||||
|
__REMINDER() { __PRINT $__PURPLE "REMINDER : $@" >&2; }
|
||||||
|
__INFO() { __PRINT $__WHITE "INFO : $@" >&2; }
|
||||||
|
|
||||||
__PROMPT() {
|
__PROMPT() {
|
||||||
echo "\\033[1;36mPROMPT : $@\\033[0m" >&2
|
__PRINT $__CYAN "PROMPT : $@" >&2
|
||||||
printf "\\033[1;36mUSER : \\033[0m" >&2
|
__PRINT $__CYAN "USER : " --no-end >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__FAIL() { __ERROR "${@:2}"; exit $1; }
|
||||||
|
__ABORT() { __FAIL 69 'user abort'; }
|
||||||
|
|
||||||
__Yn() {
|
__Yn() {
|
||||||
__PROMPT "$@ [Yn]"
|
__PROMPT "$@ [Yn]"
|
||||||
[ $CI ] && { echo y; return 0; }
|
[ $CI ] && { echo y; return 0; }
|
||||||
@ -25,10 +39,6 @@ __yN() {
|
|||||||
[[ $yN =~ [yY] ]] && return 0 || return 1
|
[[ $yN =~ [yY] ]] && return 0 || return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
__FAIL() { __ERROR "${@:2}"; exit $1; }
|
|
||||||
|
|
||||||
__ABORT() { __FAIL 69 'user abort'; }
|
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
__GETSUDO() {
|
__GETSUDO() {
|
||||||
|
@ -5,6 +5,7 @@ _REQUIRED_ENV+=() # (extensible) list of required environment variables
|
|||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
|
source ${0:a:h}/colors.zsh
|
||||||
source ${0:a:h}/io.zsh
|
source ${0:a:h}/io.zsh
|
||||||
source ${0:a:h}/os.zsh
|
source ${0:a:h}/os.zsh
|
||||||
source ${0:a:h}/credits.zsh
|
source ${0:a:h}/credits.zsh
|
||||||
|
Loading…
Reference in New Issue
Block a user