summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/aliases/aliases.plugin.zsh23
-rw-r--r--plugins/shell-proxy/shell-proxy.plugin.zsh59
2 files changed, 46 insertions, 36 deletions
diff --git a/plugins/aliases/aliases.plugin.zsh b/plugins/aliases/aliases.plugin.zsh
index 4e1e0558e..9864de957 100644
--- a/plugins/aliases/aliases.plugin.zsh
+++ b/plugins/aliases/aliases.plugin.zsh
@@ -1,11 +1,14 @@
-# with lots of 3rd-party amazing aliases installed, just need something to explore it quickly.
-#
-# - acs: alias cheatsheet
-# group alias by command, pass addition argv to grep.
-function acs(){
- (( $+commands[python3] )) || {
- echo "[error] No python executable detected"
- return
+# 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 '
+ function acs(){
+ (( $+commands[python3] )) || {
+ echo "[error] No python executable detected"
+ return
+ }
+ alias | python3 "'"${0:h}"'/cheatsheet.py" "$@"
}
- alias | python3 ${functions_source[$0]:h}/cheatsheet.py $@
-}
+'
diff --git a/plugins/shell-proxy/shell-proxy.plugin.zsh b/plugins/shell-proxy/shell-proxy.plugin.zsh
index 9d45b5269..4fdbe9322 100644
--- a/plugins/shell-proxy/shell-proxy.plugin.zsh
+++ b/plugins/shell-proxy/shell-proxy.plugin.zsh
@@ -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')