Browse Source

Change ant target enumeration

Make use of ant's project help feature instead of trying to parse XML with regex (see: http://stackoverflow.com/a/1732454/740787).
This is a behavioral change that does a few things:
 • adds support for ant imports, which were previously not recognized as possibly containing targets
 • supresses targets with no description, as these are conventionally for internal use only
Chris Peterson 10 years ago
parent
commit
013b2bffcf
1 changed files with 1 additions and 1 deletions
  1. 1 1
      plugins/ant/ant.plugin.zsh

+ 1 - 1
plugins/ant/ant.plugin.zsh

@@ -7,7 +7,7 @@ _ant_does_target_list_need_generating () {
 _ant () {
 _ant () {
   if [ -f build.xml ]; then
   if [ -f build.xml ]; then
     if _ant_does_target_list_need_generating; then
     if _ant_does_target_list_need_generating; then
-     sed -n '/<target/s/<target.*name="\([^"]*\).*$/\1/p' build.xml > .ant_targets
+    	ant -p | awk -F " " 'NR > 5 { print lastTarget }{lastTarget = $1}' > .ant_targets
     fi
     fi
     compadd `cat .ant_targets`
     compadd `cat .ant_targets`
   fi
   fi