#!/bin/zsh DEPENDENCIES+=() REQUIRED_ENV+=() use scwrypts/environment-files CHECK_ENVIRONMENT ##################################################################### PROMPT 'choose an environment to copy' TEMPLATE_ENV_NAME=$(SCWRYPTS__SELECT_ENV) [ ! $TEMPLATE_ENV_NAME ] && ABORT STATUS "selected '$TEMPLATE_ENV_NAME'" PROMPT 'enter new environment name' ENV_NAME=$(echo '' | FZF_HEAD 'new environment') [ ! $ENV_NAME ] && ABORT SCWRYPTS__GET_ENV_NAMES | grep -q $ENV_NAME && FAIL 1 "'$ENV_NAME' already exists" for GROUP in ${SCWRYPTS_GROUPS[@]} do TEMPLATE_ENV_FILE=$(SCWRYPTS__GET_ENV_FILE $TEMPLATE_ENV_NAME $GROUP 2>/dev/null) ENV_FILE=$(SCWRYPTS__GET_ENV_FILE $ENV_NAME $GROUP 2>/dev/null) STATUS "creating environment '$ENV_NAME'" cat "$TEMPLATE_ENV_FILE" \ | sed 's/ # from.*//' \ > "$ENV_FILE" \ && SUCCESS "created '$ENV_FILE'" \ || FAIL 2 "something went wrong creating '$ENV_FILE'" done STATUS "synchronizing environments" SCWRYPTS__RUN --name scwrypts/environment/synchronize --group scwrypts --type zsh -- --no-prompt \ && SUCCESS "finished copy environment '$TEMPLATE_ENV_NAME > $ENV_NAME'" \ || FAIL 3 'error during synchronization of new environment (see above)' \ ;