summaryrefslogtreecommitdiff
path: root/plugins/ant
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ant')
-rw-r--r--plugins/ant/ant.plugin.zsh16
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/ant/ant.plugin.zsh b/plugins/ant/ant.plugin.zsh
new file mode 100644
index 000000000..45f2b06eb
--- /dev/null
+++ b/plugins/ant/ant.plugin.zsh
@@ -0,0 +1,16 @@
+_ant_does_target_list_need_generating () {
+ [ ! -f .ant_targets ] && return 0;
+ [ .ant_targets -nt build.xml ] && return 0;
+ return 1;
+}
+
+_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