From af120ab348f2e1a5a39dec035ed9dcf84189a64e Mon Sep 17 00:00:00 2001
From: Biswakalyan Bhuyan <biswa@surgot.in>
Date: Mon, 3 Oct 2022 21:42:20 +0530
Subject: dotfiles

---
 .../plugins/shell-proxy/shell-proxy.plugin.zsh     | 37 ++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 zsh/oh-my-zsh/plugins/shell-proxy/shell-proxy.plugin.zsh

(limited to 'zsh/oh-my-zsh/plugins/shell-proxy/shell-proxy.plugin.zsh')

diff --git a/zsh/oh-my-zsh/plugins/shell-proxy/shell-proxy.plugin.zsh b/zsh/oh-my-zsh/plugins/shell-proxy/shell-proxy.plugin.zsh
new file mode 100644
index 0000000..9d45b52
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/shell-proxy/shell-proxy.plugin.zsh
@@ -0,0 +1,37 @@
+#!/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")
+}
+
+_proxy() {
+  local -r commands=('enable' 'disable' 'status')
+  compset -P '*,'
+  compadd -S '' "${commands[@]}"
+}
+
+compdef _proxy proxy
-- 
cgit v1.2.3-59-g8ed1b