@@ -218,7 +218,8 @@ Environment directory '${tue_env_dir}' didn't exist (anymore)"""
218
218
219
219
elif [[ ${cmd} == " switch" ]]
220
220
then
221
- local tue_env
221
+ local persistent tue_env
222
+ persistent=" false"
222
223
if [[ -z " $1 " ]]
223
224
then
224
225
show_help=" true"
@@ -230,6 +231,8 @@ Environment directory '${tue_env_dir}' didn't exist (anymore)"""
230
231
show_help=" true"
231
232
break
232
233
;;
234
+ --persistent )
235
+ persistent=" true" ;;
233
236
--* )
234
237
echo " [tue-env](switch) Unknown option $i "
235
238
show_help=" true"
@@ -260,6 +263,9 @@ Environment directory '${tue_env_dir}' didn't exist (anymore)"""
260
263
tue_env_dir=$( cat " ${TUE_DIR} " /user/envs/" ${tue_env} " )
261
264
[[ -d " ${tue_env_dir} " ]] || { echo " [tue-env](switch) Environment directory '${tue_env_dir} ' (environment '${tue_env} ') does not exist" ; return 1; }
262
265
266
+ [[ " ${persistent} " == " true" ]] && tue-env set-default " ${tue_env} "
267
+
268
+ # Deactivate the old virtualenv if it exists
263
269
[[ -n ${VIRTUAL_ENV} ]] && echo " [tue-env](switch) deactivating old virtualenv" && deactivate
264
270
265
271
echo " [tue-env](switch) Unsetting all TUE_ENV* of the old environment: '${TUE_ENV} '"
@@ -274,6 +280,7 @@ Environment directory '${tue_env_dir}' didn't exist (anymore)"""
274
280
TUE_ENV_DIR=${tue_env_dir}
275
281
export TUE_ENV_DIR
276
282
283
+ echo " [tue-env](switch) Loading the new '${TUE_ENV} ' environment"
277
284
# shellcheck disable=SC1091
278
285
source " $TUE_DIR " /setup.bash
279
286
@@ -732,6 +739,9 @@ function _tue-env
732
739
elif [[ ${cmd} == " remove" || ${cmd} == " rm" || ${cmd} == " remove-venv" || ${cmd} == " rm-venv" ]] && [[ " ${COMP_CWORD} " -eq 3 ]]
733
740
then
734
741
mapfile -t COMPREPLY < <( compgen -W " $( echo -e " '--purge '\n${help_options} " ) " -- " ${cur} " )
742
+ elif [[ ${cmd} == " switch" ]] && [[ " ${COMP_CWORD} " -eq 3 ]]
743
+ then
744
+ mapfile -t COMPREPLY < <( compgen -W " $( echo -e " '--persistent '\n${help_options} " ) " -- " ${cur} " )
735
745
elif [[ ${cmd} == " init-venv" ]] && [[ " ${COMP_CWORD} " -eq 3 ]]
736
746
then
737
747
mapfile -t COMPREPLY < <( compgen -W " $( echo -e " '--include-system-site-packages='\n${help_options} " ) " -- " ${cur} " )
0 commit comments