From 1f659b16dbe5338554a413223d5f7cb0de65386e Mon Sep 17 00:00:00 2001 From: Simon Gomizelj Date: Thu, 1 Dec 2011 09:26:26 -0500 Subject: [PATCH] Reworking this plugin to work around a keychain function --- plugins/keychain/keychain.plugin.zsh | 30 +++++++++++++--------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/plugins/keychain/keychain.plugin.zsh b/plugins/keychain/keychain.plugin.zsh index 0f233812e..57175ffef 100644 --- a/plugins/keychain/keychain.plugin.zsh +++ b/plugins/keychain/keychain.plugin.zsh @@ -1,6 +1,4 @@ -local ssh_env=$HOME/.ssh/environment-$HOST - -function start_agent() +function keychain_start_agent() { local -a identities @@ -15,23 +13,23 @@ function start_agent() } function keychain() { + local ssh_env=$HOME/.ssh/environment-$HOST + case $1 in - "start") ;; + "start") + if [[ -f $ssh_env ]]; then + source $ssh_env >/dev/null + ps -p $SSH_AGENT_PID >/dev/null || keychain_start_agent + else + keychain_start_agent; + fi + ;; "kill") - ssh-agent -k + echo "Stopping agent" + ssh-agent -k >/dev/null ;; esac } zstyle -a :omz:plugins:keychain autostart state -if [[ $state == "on" ]]; then - if [[ -f $ssh_env ]]; then - source $ssh_env >/dev/null - ps -p $SSH_AGENT_PID >/dev/null || start_agent - else - start_agent; - fi -fi - -unfunction start_agent -unset ssh_env +[[ $state == "on" ]] && keychain start