lib/helpers: eliminate assumptions about login shells

Bash loads initialization files on Mac just the same as it does on Linux or WSL. Our previous assumptions were wrong, and my fix was alsö wrong because I made more assumptions!

This patch eliminates the assumptions. Literally just load either the startup file the shell started with, or fall back to `~/.bashrc`. Don't check `shopt -q login_shell` and don't check `$OSTYPE` or anything else.
pull/2067/head
John D Pell 2022-01-26 10:07:08 -08:00
parent 7e79212dff
commit c08267e25d
1 changed files with 3 additions and 15 deletions

View File

@ -654,14 +654,9 @@ function _bash-it-restart() {
_about 'restarts the shell in order to fully reload it' _about 'restarts the shell in order to fully reload it'
_group 'lib' _group 'lib'
local saved_pwd="${PWD}" init_file local saved_pwd="${PWD}" init_file="${BASH_IT_BASHRC:-${HOME?}/.bashrc}"
if shopt -q login_shell; then exec "${0/-/}" --rcfile <(echo "source \"${init_file}\"; cd \"$saved_pwd\"")
init_file=.bash_profile
else
init_file=.bashrc
fi
exec "${0/-/}" --rcfile <(echo "source \"$HOME/$init_file\"; cd \"$saved_pwd\"")
} }
function _bash-it-reload() { function _bash-it-reload() {
@ -669,15 +664,8 @@ function _bash-it-reload() {
_group 'lib' _group 'lib'
pushd "${BASH_IT?}" > /dev/null || return pushd "${BASH_IT?}" > /dev/null || return
# shellcheck disable=SC1090 # shellcheck disable=SC1090
if shopt -q login_shell; then source "${BASH_IT_BASHRC:-${HOME?}/.bashrc}"
# shellcheck source-path=$HOME
source ~/.bash_profile
else
# shellcheck source-path=$HOME
source ~/.bashrc
fi
popd > /dev/null || return popd > /dev/null || return
} }