summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/ant/ant.plugin.zsh19
-rw-r--r--plugins/gpg-agent/gpg-agent.plugin.zsh26
-rw-r--r--plugins/phing/phing.plugin.zsh1
3 files changed, 45 insertions, 1 deletions
diff --git a/plugins/ant/ant.plugin.zsh b/plugins/ant/ant.plugin.zsh
new file mode 100644
index 000000000..0544ac92c
--- /dev/null
+++ b/plugins/ant/ant.plugin.zsh
@@ -0,0 +1,19 @@
+_ant_does_target_list_need_generating () {
+ if [ ! -f .ant_targets ]; then return 0;
+ else
+ accurate=$(stat -f%m .ant_targets)
+ changed=$(stat -f%m build.xml)
+ return $(expr $accurate '>=' $changed)
+ fi
+}
+
+_ant () {
+ if [ -f build.xml ]; then
+ if _ant_does_target_list_need_generating; then
+ sed -n '/<target/s/<target.*name="\([^"]*\).*$/\1/p' build.xml > .ant_targets
+ fi
+ compadd `cat .ant_targets`
+ fi
+}
+
+compdef _ant ant
diff --git a/plugins/gpg-agent/gpg-agent.plugin.zsh b/plugins/gpg-agent/gpg-agent.plugin.zsh
new file mode 100644
index 000000000..8cc71fd57
--- /dev/null
+++ b/plugins/gpg-agent/gpg-agent.plugin.zsh
@@ -0,0 +1,26 @@
+# Based on ssh-agent code
+
+local GPG_ENV=$HOME/.gnupg/gpg-agent.env
+
+function start_agent {
+ /usr/bin/env gpg-agent --daemon --enable-ssh-support --write-env-file ${GPG_ENV} > /dev/null
+ chmod 600 ${GPG_ENV}
+ . ${GPG_ENV} > /dev/null
+}
+
+# Source GPG agent settings, if applicable
+if [ -f "${GPG_ENV}" ]; then
+ . ${GPG_ENV} > /dev/null
+ ps -ef | grep ${SSH_AGENT_PID} | grep gpg-agent > /dev/null || {
+ start_agent;
+ }
+else
+ start_agent;
+fi
+
+export GPG_AGENT_INFO
+export SSH_AUTH_SOCK
+export SSH_AGENT_PID
+
+GPG_TTY=$(tty)
+export GPG_TTY
diff --git a/plugins/phing/phing.plugin.zsh b/plugins/phing/phing.plugin.zsh
index 80e334629..8f4adca08 100644
--- a/plugins/phing/phing.plugin.zsh
+++ b/plugins/phing/phing.plugin.zsh
@@ -10,7 +10,6 @@ _phing_does_target_list_need_generating () {
_phing () {
if [ -f build.xml ]; then
if _phing_does_target_list_need_generating; then
- echo "\nGenerating .phing_targets..." > /dev/stderr
phing -l |grep -v ":" |grep -v "^$"|grep -v "\-" > .phing_targets
fi
compadd `cat .phing_targets`