diff --git a/load-zellij b/load-zellij index a46e394..c18f35b 100755 --- a/load-zellij +++ b/load-zellij @@ -15,33 +15,32 @@ BASE_SHELL=$(basename "$SHELL") if is_sourced; then zellij() { - if [[ -x /tmp/zellij/bootstrap/zellij ]]; then - /tmp/zellij/bootstrap/zellij "${@}" - else - bash <(curl -sL zellij.dev/launch) "${@}" + if [[ ! -x ~/bin/zellij ]]; then + if [[ ! -x /tmp/zellij/bootstrap/zellij ]]; then + bash <(curl -sL zellij.dev/launch) "${@}" && return + fi + fi + if [[ -e /tmp/zellij/bootstrap/zellij ]]; then + mv /tmp/zellij/bootstrap/zellij ~/bin/zellij + fi + if [[ -x ~/bin/zellij ]]; then + ~/bin/zellij "${@}" fi - } - if [[ -z "$ZELLIJ_SESSION_NAME" ]]; then - # shellcheck disable=SC2210 - #(zellij list-sessions 2&>1) > /dev/null || zellij attach -c "$USER@$(hostname)" - zellij attach -c "$USER@$(hostname)" || EXITCODE=$? - # shellcheck disable=SC2086 # EXITCODE might be empty - return $EXITCODE - fi - if [[ -z "$ZSH_VERSION" ]] || (type compdef > /dev/null 2>&1); then - # shellcheck disable=SC1090 - . <( zellij setup --generate-completion "$BASE_SHELL" ) 2> /dev/null + } + . <( zellij setup --generate-completion "$BASE_SHELL" ) + if [[ -z "$ZELLIJ_SESSION_NAME" ]]; then + (zellij list-sessions 2&>1) > /dev/null || zellij attach -c $USER@$(hostname) fi elif [[ "$1" == '-' ]]; then - echo "BASE_0=${BASE_0}" - cat "${0}" + cat "${BASH_SOURCE[0]}" else SCRIPT_NAME="$BASE_0" printf '%s\n' \ "It seems $SCRIPT_NAME was invoked as a script. It should be sourced instead." \ - 'The easiest way is to call it like this:' \ - " $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \ + 'The easiest way is to call it like this:' \ + " $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \ '' fi +