@@ -390,17 +390,22 @@ check_shell_magic() {
390390 if command -v finger > /dev/null 2>&1 ; then
391391 SHELL=" $( finger " $USER " | grep Shell | cut -d: -f3 | tr -d ' ' ) "
392392 elif command -v getent > /dev/null 2>&1 ; then
393- SHELL=" $( basename " $( getent passwd " $USER " ) " ) "
394- fi
395- if test -z " $SHELL " ; then
396- # well dang
397- SHELL=" unknown"
393+ SHELL=" $( getent passwd " $USER " ) "
394+ elif command -v id > /dev/null 2>&1 ; then
395+ SHELL=" $( id -P | cut -d ' :' -f 10) "
396+ # Try to fall back with some level of normalcy
397+ elif test " $( uname) " == " Darwin" ; then
398+ SHELL=zsh
399+ else
400+ SHELL=bash
398401 fi
399402 fi
400403
401- __TEA_ONE_LINER=" test -d \" $TEA_DESTDIR_WRITABLE \" && source <(\" $TEA_DESTDIR_WRITABLE /tea.xyz/v*/bin/tea\" --magic --silent)"
404+ SHELL=$( basename " $SHELL " ) # just in case
405+
406+ __TEA_ONE_LINER=" test -d \" $TEA_DESTDIR_WRITABLE \" && source <(\" $TEA_DESTDIR_WRITABLE /tea.xyz/v*/bin/tea\" --magic=$SHELL --silent)"
402407
403- case $( basename " $SHELL " ) in
408+ case " $SHELL " in
404409 zsh)
405410 if test -n " $ZDOTDIR " ; then
406411 __TEA_ZSHRC=" $ZDOTDIR /.zshrc"
@@ -423,7 +428,7 @@ check_shell_magic() {
423428 fish)
424429 __TEA_SH_FILE=" ${XDG_CONFIG_HOME:- $HOME / .config} /fish/config.fish"
425430 __TEA_BTN_TXT=" add one-liner to your \` config.fish\` ?"
426- __TEA_ONE_LINER=" test -d \" $TEA_DESTDIR_WRITABLE \" && \" $TEA_DESTDIR_WRITABLE /tea.xyz/v*/bin/tea\" --magic --silent | source"
431+ __TEA_ONE_LINER=" test -d \" $TEA_DESTDIR_WRITABLE \" && \" $TEA_DESTDIR_WRITABLE /tea.xyz/v*/bin/tea\" --magic=fish --silent | source"
427432 ;;
428433 * )
429434 gum_func format -- << -EoMD
0 commit comments