Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
187a467092 | |||
a1256bb0af | |||
73e26a2ecb |
@ -24,7 +24,7 @@ __SYNC_MEDIA() {
|
||||
local FLAGS=(${@:3})
|
||||
|
||||
__STATUS "${ACTION}ing $2"
|
||||
_AWS s3 sync $REMOTE_TARGET $LOCAL_TARGET $FLAGS \
|
||||
_AWS s3 sync $A $B $FLAGS \
|
||||
&& __SUCCESS "$2 up-to-date" \
|
||||
|| { __ERROR "unable to sync $2 (see above)"; return 1; }
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ source ${0:a:h}/common.zsh
|
||||
#####################################################################
|
||||
|
||||
LAUNCH_OR_SHOW() {
|
||||
__INFO $@
|
||||
local USAGE="
|
||||
usage: <path-executable> [client-class] [...options...]
|
||||
|
||||
@ -30,7 +31,7 @@ LAUNCH_OR_SHOW() {
|
||||
Depending on state, performs one of three useful functions
|
||||
1) starts application
|
||||
2) adds application window to the scratchpad
|
||||
3) pulls applciation from scratchpad to foreground on active screen
|
||||
3) pulls application from scratchpad to foreground on active screen
|
||||
"
|
||||
local APPLICATION CLIENT_CLASS
|
||||
|
||||
|
@ -50,6 +50,14 @@ Setting the `AWS_REGION` variable will cause scwrypts to ignore the `__select` s
|
||||
|
||||
CI will fail on select, because CI fails on any FZF prompt.
|
||||
|
||||
#### `__override` Environment Variables
|
||||
Override any variable with the indicated value.
|
||||
This will take precedence over existing values *and* any other special environment variable types.
|
||||
|
||||
Examples of use:
|
||||
- temporarily changing a single value in your current session (e.g. `export VARIABLE__override=value`)
|
||||
- overriding a variable for a one-time command (e.g. `VARIABLE__override=value scwrypts ...`)
|
||||
|
||||
|
||||
## Logs
|
||||
Quickly view or clear Scwrypts logs.
|
||||
|
@ -6,7 +6,9 @@ source ${0:a:h}/../common.zsh
|
||||
_SORT_ENV() {
|
||||
local ENV_FILE="$1"
|
||||
|
||||
sed -i "/^# /d; /^$/d" "$ENV_FILE"
|
||||
sed -i "s/^[A-Z]/export &/; s/^[^#=]\\+$/&=/" "$ENV_FILE"
|
||||
_SED -i "/^# /d; /^$/d" "$ENV_FILE"
|
||||
_SED -i "s/^[A-Z]/export &/; s/^[^#=]\\+$/&=/" "$ENV_FILE"
|
||||
LC_COLLATE=C sort -uo "$ENV_FILE" "$ENV_FILE"
|
||||
}
|
||||
|
||||
_SED() { sed --follow-symlinks $@; }
|
||||
|
@ -25,7 +25,7 @@ cp "$TEMPLATE_ENV_FILE" "$ENV_FILE" \
|
||||
|| __FAIL 3 "unable to create '$ENV_NAME'"
|
||||
|
||||
__STATUS 'stripping inherited values'
|
||||
sed -i 's/ # inherited from.*$//' "$ENV_FILE" 2>/dev/null
|
||||
_SED -i 's/ # inherited from.*$//' "$ENV_FILE" 2>/dev/null
|
||||
|
||||
__RUN_SCWRYPT zsh/scwrypts/environment/synchronize -- --no-prompt \
|
||||
|| __FAIL 4 'failed to run environment sync'
|
||||
|
@ -27,7 +27,7 @@ _SORT_ENV $ENV_FILE
|
||||
|
||||
while read line
|
||||
do
|
||||
ENV_VAR=$(echo "$line" | sed 's/=.*$//; s/^export //')
|
||||
ENV_VAR=$(echo "$line" | _SED 's/=.*$//; s/^export //')
|
||||
grep -q "$ENV_VAR" $__ENV_TEMPLATE || {
|
||||
((NEW_VAR+=1))
|
||||
echo "export $ENV_VAR=" >> $__ENV_TEMPLATE
|
||||
|
@ -20,7 +20,7 @@ _SYNCHRONIZE() {
|
||||
}
|
||||
|
||||
_SORT_ENV "$__ENV_TEMPLATE"
|
||||
sed -i '/__[a-z_]\+=$/d' "$__ENV_TEMPLATE"
|
||||
_SED -i '/__[a-z_]\+=$/d' "$__ENV_TEMPLATE"
|
||||
git add $__ENV_TEMPLATE >/dev/null 2>&1
|
||||
|
||||
ENVIRONMENTS=$(__GET_ENV_NAMES | sort -r)
|
||||
@ -40,7 +40,7 @@ _CLEAR_INHERITED_VARIABLES() {
|
||||
for ENV_NAME in $(echo $ENVIRONMENTS)
|
||||
do
|
||||
ENV_FILE=$(__GET_ENV_FILE $ENV_NAME)
|
||||
sed -i 's/ # inherited from.*//' "$ENV_FILE"
|
||||
_SED -i 's/ # inherited from.*//' "$ENV_FILE"
|
||||
done
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ _INSERT_NEW_VARIABLES() {
|
||||
echo $line >> $ENV_FILE && __STATUS "added '$line' to '$ENV_NAME'"
|
||||
}
|
||||
done
|
||||
done < <(sed -n '/^./p' "$__ENV_TEMPLATE")
|
||||
done < <(_SED -n '/^./p' "$__ENV_TEMPLATE")
|
||||
}
|
||||
|
||||
_REMOVE_OLD_VARIABLES() {
|
||||
@ -69,11 +69,11 @@ _REMOVE_OLD_VARIABLES() {
|
||||
ENV_FILE=$(__GET_ENV_FILE $ENV_NAME)
|
||||
while read line
|
||||
do
|
||||
ENV_VAR=$(echo "$line" | sed 's/=.*/=/')
|
||||
ENV_VAR=$(echo "$line" | _SED 's/=.*/=/')
|
||||
echo $ENV_VAR | grep -q '__[a-z_]\+=' && continue
|
||||
|
||||
grep -q "$ENV_VAR" "$__ENV_TEMPLATE" || {
|
||||
sed -i "\\%$ENV_VAR%d" "$ENV_FILE"
|
||||
_SED -i "\\%$ENV_VAR%d" "$ENV_FILE"
|
||||
echo "$ENV_VAR" | grep -qv '^#' \
|
||||
&& __WARNING "removed unwanted '$ENV_VAR' from '$ENV_NAME'"
|
||||
}
|
||||
@ -114,8 +114,8 @@ _CASCADE_ENVIRONMENT() {
|
||||
|
||||
while read PARENT_VAR
|
||||
do
|
||||
VAR_PATTERN=$(echo "$PARENT_VAR" | sed 's/=.*/=/; s/\//\/\//g')
|
||||
__STATUS "propagating '$(echo $VAR_PATTERN | sed 's/^export \([^=]*\)=/\1/')' to children"
|
||||
VAR_PATTERN=$(echo "$PARENT_VAR" | _SED 's/=.*/=/; s/\//\/\//g')
|
||||
__STATUS "propagating '$(echo $VAR_PATTERN | _SED 's/^export \([^=]*\)=/\1/')' to children"
|
||||
|
||||
PARENT_VAR+=" # inherited from $PARENT_NAME"
|
||||
|
||||
@ -123,10 +123,10 @@ _CASCADE_ENVIRONMENT() {
|
||||
do
|
||||
CHILD_FILE=$(__GET_ENV_FILE $CHILD_NAME)
|
||||
|
||||
sed -i "/^$VAR_PATTERN/d" "$CHILD_FILE"
|
||||
_SED -i "/^$VAR_PATTERN/d" "$CHILD_FILE"
|
||||
echo $PARENT_VAR >> "$CHILD_FILE"
|
||||
done
|
||||
done < <(sed -n '/^[^#][^=]*=[^#]\+$/p' "$PARENT_FILE")
|
||||
done < <(_SED -n '/^[^#][^=]*=[^#]\+$/p' "$PARENT_FILE")
|
||||
|
||||
__SUCCESS "finished '$PARENT_NAME' propagation"
|
||||
}
|
||||
@ -135,18 +135,18 @@ _ADD_DESCRIPTIONS() {
|
||||
__STATUS 'updating descriptions'
|
||||
while read DESCRIPTION_LINE
|
||||
do
|
||||
ENV_VAR=$(echo $DESCRIPTION_LINE | sed 's/ \+| .*$//')
|
||||
DESCRIPTION=$(echo $DESCRIPTION_LINE | sed 's/^.* | //')
|
||||
ENV_VAR=$(echo $DESCRIPTION_LINE | _SED 's/ \+| .*$//')
|
||||
DESCRIPTION=$(echo $DESCRIPTION_LINE | _SED 's/^.* | //')
|
||||
for ENV_NAME in $(echo $ENVIRONMENTS)
|
||||
do
|
||||
sed -i "/^export $ENV_VAR=/i # $DESCRIPTION" "$(__GET_ENV_FILE $ENV_NAME)"
|
||||
_SED -i "/^export $ENV_VAR=/i # $DESCRIPTION" "$(__GET_ENV_FILE $ENV_NAME)"
|
||||
done
|
||||
done < <(sed -n '/^[^ ]\+ \+| /p' "$__ENV_TEMPLATE.descriptions")
|
||||
done < <(_SED -n '/^[^ ]\+ \+| /p' "$__ENV_TEMPLATE.descriptions")
|
||||
|
||||
for ENV_NAME in $(echo $ENVIRONMENTS)
|
||||
do
|
||||
sed -i "/^# /i \ " "$(__GET_ENV_FILE $ENV_NAME)"
|
||||
sed -i "s/^ $//" "$(__GET_ENV_FILE $ENV_NAME)"
|
||||
_SED -i "/^# /i \ " "$(__GET_ENV_FILE $ENV_NAME)"
|
||||
_SED -i "s/^ $//" "$(__GET_ENV_FILE $ENV_NAME)"
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,9 @@ __CHECK_ENV_VAR() {
|
||||
local NAME="$1"
|
||||
[ ! $NAME ] && return 1
|
||||
|
||||
local OVERRIDE_VALUE=$(eval echo '$'$NAME'__override')
|
||||
[ $OVERRIDE_VALUE ] && export $NAME=$OVERRIDE_VALUE && return 0
|
||||
|
||||
local OPTIONAL="$2"
|
||||
local DEFAULT_VALUE="$3"
|
||||
|
||||
@ -17,7 +20,10 @@ __CHECK_ENV_VAR() {
|
||||
local SELECTION_VALUES=$(eval echo '$'$NAME'__select' | sed 's/,/\n/g')
|
||||
[ $SELECTION_VALUES ] && {
|
||||
local SELECTION=$(echo $SELECTION_VALUES | __FZF "select a value for '$NAME'")
|
||||
[ $SELECTION ] && export VALUE=$SELECTION
|
||||
[ $SELECTION ] && {
|
||||
export $NAME=$SELECTION
|
||||
return 0
|
||||
}
|
||||
}
|
||||
[ $VALUE ] && return 0
|
||||
|
||||
|
@ -8,6 +8,7 @@ __PRINT() {
|
||||
printf "${COLOR}${MESSAGE}${__COLOR_RESET}${LINE_END}"
|
||||
}
|
||||
|
||||
[ ! $ERRORS ] && export ERRORS=0
|
||||
__ERROR() { __PRINT $__RED "ERROR ✖ : $@" >&2; ((ERRORS+=1)); }
|
||||
__SUCCESS() { __PRINT $__GREEN "SUCCESS ✔ : $@" >&2; }
|
||||
__WARNING() { __PRINT $__ORANGE "WARNING : $@" >&2; }
|
||||
|
Reference in New Issue
Block a user