41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
|
#! /usr/bin/env bash
|
||
|
|
||
|
# Helper function
|
||
|
is_sourced() {
|
||
|
if [ -n "$ZSH_VERSION" ]; then
|
||
|
case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac
|
||
|
else # Add additional POSIX-compatible shell names here, if needed.
|
||
|
case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac
|
||
|
fi
|
||
|
return 1; # NOT sourced.
|
||
|
}
|
||
|
|
||
|
BASE_0=${BASE_0:-$0}
|
||
|
BASE_SHELL=$(basename "$SHELL")
|
||
|
|
||
|
if is_sourced; then
|
||
|
webi() {
|
||
|
if [[ ! -x "${HOME}/.local/bin/webi" ]]; then
|
||
|
printf '%s\n' \
|
||
|
"webi isn't installed, install by running:" \
|
||
|
" curl -sS https://webi.sh/webi | sh"
|
||
|
return
|
||
|
fi
|
||
|
${HOME}/.local/bin/webi "${@}"
|
||
|
}
|
||
|
if is_cmd webi; then
|
||
|
webi
|
||
|
fi
|
||
|
|
||
|
elif [[ "$1" == '-' ]]; then
|
||
|
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" \
|
||
|
''
|
||
|
fi
|
||
|
|