ohmyzsh/plugins/shell-proxy/shell-proxy.plugin.zsh

38 lines
1.1 KiB
Bash
Raw Normal View History

2020-05-24 16:48:43 +00:00
#!/usr/bin/bash
# shellcheck disable=SC1090,SC2154
2020-05-24 16:48:43 +00:00
proxy() {
# deprecate $DEFAULT_PROXY, use SHELLPROXY_URL instead
if [[ -n "$DEFAULT_PROXY" && -z "$SHELLPROXY_URL" ]]; then
echo >&2 "proxy: DEFAULT_PROXY is deprecated, use SHELLPROXY_URL instead"
SHELLPROXY_URL="$DEFAULT_PROXY"
unset DEFAULT_PROXY
fi
# deprecate CONFIG_PROXY, use SHELLPROXY_CONFIG instead
if [[ -n "$CONFIG_PROXY" && -z "$SHELLPROXY_CONFIG" ]]; then
echo >&2 "proxy: CONFIG_PROXY is deprecated, use SHELLPROXY_CONFIG instead"
SHELLPROXY_CONFIG="$CONFIG_PROXY"
unset CONFIG_PROXY
fi
# the proxy.py script is in the same directory as this function
local proxy="${functions_source[$0]:A:h}/proxy.py"
# capture the output of the proxy script and bail out if it fails
local output
output="$(SHELLPROXY_URL="$SHELLPROXY_URL" SHELLPROXY_CONFIG="$SHELLPROXY_CONFIG" "$proxy" "$1")" ||
return $?
# evaluate the output generated by the proxy script
source <(echo "$output")
2020-05-24 16:48:43 +00:00
}
_proxy() {
local -r commands=('enable' 'disable' 'status')
compset -P '*,'
compadd -S '' "${commands[@]}"
2020-05-24 16:48:43 +00:00
}
compdef _proxy proxy