update multiple base dirs; added env sentinel; silenced the app

This commit is contained in:
Wryn Wagner 2021-09-14 21:10:26 -06:00
parent 89137fa65e
commit 3a4e170962
5 changed files with 15 additions and 10 deletions

View File

@ -45,6 +45,7 @@ CODE_ACTIVATOR() {
case $1 in case $1 in
deactivate ) _CA__RESTORE_ENVIRONMENT && cd || ERROR=1 ;; deactivate ) _CA__RESTORE_ENVIRONMENT && cd || ERROR=1 ;;
clone ) _CA__CLONE ${@:2} || ERROR=1 ;; clone ) _CA__CLONE ${@:2} || ERROR=1 ;;
new ) IS_NEW_PROJECT=1 _CA__CLONE ${@:2} || ERROR=1 ;; new ) IS_NEW_PROJECT=1 _CA__CLONE ${@:2} || ERROR=1 ;;
* ) _CA__ACTIVATE ${@:1} || ERROR=42 ;; * ) _CA__ACTIVATE ${@:1} || ERROR=42 ;;
@ -107,9 +108,10 @@ _CA__ERROR_CLEANUP() {
[[ $CODE_ACTIVATOR__DISABLE_SHORTCUT -eq 0 ]] && { [[ $CODE_ACTIVATOR__DISABLE_SHORTCUT -eq 0 ]] && {
_CA__ZSH_SHORTCUT_PLUGIN() { _CA__ZSH_SHORTCUT_PLUGIN() {
local OPTIONS=$(_CA__GET_COMMANDS_AND_PROJECTS | sed 's/\s\+/\n/g') local OPTIONS=$(_CA__GET_COMMANDS_AND_PROJECTS | sed 's/\s\+/\n/g')
[ ! $__CUSTOM_ENV_ACTIVE ] && OPTIONS=$(echo $OPTIONS | grep -v 'deactivate')
local ARGUMENT=$(\ local ARGUMENT=$(\
_CA__GET_COMMANDS_AND_PROJECTS \ echo $OPTIONS \
| sed 's/\s\+/\n/g' \ | sed 's/\s\+/\n/g' \
| $_CA__FZF --prompt 'select a project: ' \ | $_CA__FZF --prompt 'select a project: ' \
) )

View File

@ -35,9 +35,7 @@ _CA__ACTIVATE_VIRTUAL_ENV() {
[ -f $ACTIVATE ] && { [ -f $ACTIVATE ] && {
source $ACTIVATE source $ACTIVATE
} || { } || {
[ -f $NO_ENV ] && { [ ! -f $NO_ENV ] && {
echo 'no virtual environment here, boss!'
} || {
_CA__INTERACTIVE_ENV_SETUP $PROJECT_PATH && source $ACTIVATE _CA__INTERACTIVE_ENV_SETUP $PROJECT_PATH && source $ACTIVATE
} }
} }
@ -47,7 +45,8 @@ _CA__ACTIVATE_CUSTOM_ENV() {
local PROJECT_PATH="$1" local PROJECT_PATH="$1"
local CUSTOM_ENV="$PROJECT_PATH/$_CA__CUSTOM_ENV_NAME" local CUSTOM_ENV="$PROJECT_PATH/$_CA__CUSTOM_ENV_NAME"
[ -f $CUSTOM_ENV ] && source $CUSTOM_ENV [ ! -f $CUSTOM_ENV ] && _CA__INIT_CUSTOM_ENV $PROJECT_PATH
source $CUSTOM_ENV
} }
_CA__ACTIVATE_SOURCE_PATH() { _CA__ACTIVATE_SOURCE_PATH() {

View File

@ -5,10 +5,10 @@ export RESTORE_PATH="$PATH"
# Store a list of project-specific environment variables; unset on env exit # Store a list of project-specific environment variables; unset on env exit
export RESTORE_ENV=( export RESTORE_ENV=(
CUSTOM_ENV_VAR __CUSTOM_ENV_ACTIVE
) )
##################################################################### #####################################################################
# example env var # example env var
export CUSTOM_ENV_VAR=69 export __CUSTOM_ENV_ACTIVE=69

View File

@ -20,7 +20,11 @@ _CA__GET_FULL_PATH() {
local PROJECT_ROOT_SHORT=$(dirname $PROJECT) local PROJECT_ROOT_SHORT=$(dirname $PROJECT)
local PROJECT_NAME=$(basename $PROJECT) local PROJECT_NAME=$(basename $PROJECT)
local FULL_BASE_DIR=$(echo $CODE_ACTIVATOR__DIRS | grep "^.*/$PROJECT_ROOT_SHORT$") local FULL_BASE_DIR=$(\
echo $CODE_ACTIVATOR__DIRS \
| sed 's/\s\+/\n/' \
| grep "^.*/$PROJECT_ROOT_SHORT$" \
)
echo "$FULL_BASE_DIR/$PROJECT_NAME" echo "$FULL_BASE_DIR/$PROJECT_NAME"
} }

View File

@ -1,6 +1,6 @@
##################################################################### #####################################################################
[ ! $CODE_ACTIVATOR__DIRS ] && export CODE_ACTIVATOR__DIRS=("$HOME/Code") [[ ${#CODE_ACTIVATOR__DIRS[@]} -eq 0 ]] && export CODE_ACTIVATOR__DIRS=("$HOME/Code")
export CODE_ACTIVATOR__KNOWN_TARGETS=( export CODE_ACTIVATOR__KNOWN_TARGETS=(
$CODE_ACTIVATOR__KNOWN_TARGETS $CODE_ACTIVATOR__KNOWN_TARGETS
@ -21,7 +21,7 @@ export CODE_ACTIVATOR__KNOWN_TARGETS=(
[ ! $_CA__SOURCE_DIR_NAME ] && export _CA__SOURCE_DIR_NAME='code' [ ! $_CA__SOURCE_DIR_NAME ] && export _CA__SOURCE_DIR_NAME='code'
[ ! $_CA__VIRTUAL_ENV_NAME ] && export _CA__VIRTUAL_ENV_NAME='env' [ ! $_CA__VIRTUAL_ENV_NAME ] && export _CA__VIRTUAL_ENV_NAME='env'
[ ! $_CA__CUSTOM_ENV_NAME ] && export _CA__CUSTOM_ENV_NAME='custom-env' [ ! $_CA__CUSTOM_ENV_NAME ] && export _CA__CUSTOM_ENV_NAME='custom-env'
[ ! $_CA__NO_ENV_SENTINEL ] && export _CA__NO_ENV_SENTINEL='.no-env' [ ! $_CA__NO_ENV_SENTINEL ] && export _CA__NO_ENV_SENTINEL='no-env'
[ ! $_CA__GIT_MAIN_BRANCH ] && export _CA__GIT_MAIN_BRANCH='master' [ ! $_CA__GIT_MAIN_BRANCH ] && export _CA__GIT_MAIN_BRANCH='master'
[ ! $_CA__CUSTOM_ENV_TEMPLATE ] && export _CA__CUSTOM_ENV_TEMPLATE="${0:a:h}/custom-env-template.zsh" [ ! $_CA__CUSTOM_ENV_TEMPLATE ] && export _CA__CUSTOM_ENV_TEMPLATE="${0:a:h}/custom-env-template.zsh"