Skip to content

Commit 89d945a

Browse files
jhheidermxcl
authored andcommitted
try to improve shell detection and magic invocation
1 parent a2494fd commit 89d945a

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

install.sh

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)