|
@@ -1,32 +1,39 @@
|
|
|
#!/usr/bin/bash
|
|
|
# shellcheck disable=SC1090,SC2154
|
|
|
|
|
|
-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")
|
|
|
-}
|
|
|
+# Handle $0 according to the standard:
|
|
|
+# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
|
|
+0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
|
|
+0="${${(M)0:#/*}:-$PWD/$0}"
|
|
|
+
|
|
|
+eval '
|
|
|
+ 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="'"${0: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")
|
|
|
+ }
|
|
|
+'
|
|
|
|
|
|
_proxy() {
|
|
|
local -r commands=('enable' 'disable' 'status')
|