refactor(shell-proxy)!: rename env vars to `SHELLPROXY_*` and add usage message (#10456)
BREAKING CHANGE: the `DEFAULT_PROXY` setting has been renamed to `SHELLPROXY_URL`, and `CONFIG_PROXY` has been renamed to `SHELLPROXY_CONFIG`. See the plugin README for more information. Co-authored-by: Marc Cornellà <hello@mcornella.com>master
parent
a1a63f4c7d
commit
e96b8bd523
4 changed files with 77 additions and 40 deletions
@ -1,16 +1,37 @@ |
|||||||
#!/usr/bin/bash |
#!/usr/bin/bash |
||||||
# shellcheck disable=SC1090 |
# shellcheck disable=SC1090,SC2154 |
||||||
|
|
||||||
__PROXY__="${0:A:h}/proxy.py" |
|
||||||
|
|
||||||
proxy() { |
proxy() { |
||||||
source <(env "DEFAULT_PROXY=$DEFAULT_PROXY" "$__PROXY__" "$1") |
# 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") |
||||||
} |
} |
||||||
|
|
||||||
_proxy() { |
_proxy() { |
||||||
local -r commands=('enable' 'disable' 'status') |
local -r commands=('enable' 'disable' 'status') |
||||||
compset -P '*,' |
compset -P '*,' |
||||||
compadd -S '' "${commands[@]}" |
compadd -S '' "${commands[@]}" |
||||||
} |
} |
||||||
|
|
||||||
compdef '_proxy' 'proxy' |
compdef _proxy proxy |
||||||
|
|||||||
Loading…
Reference in new issue