Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [PATCH] Ant Completion: Find targets recursively
- X-seq: zsh-workers 21698
- From: Jean-Baptiste Quenot <jb.quenot@xxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Re: [PATCH] Ant Completion: Find targets recursively
- Date: Mon, 5 Sep 2005 15:40:13 +0200
- In-reply-to: <20050902082501.GB40558@xxxxxxxxxxxxxx>
- Mail-followup-to: Jean-Baptiste Quenot <jb.quenot@xxxxxxxxxxx>, zsh-workers@xxxxxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <jb.quenot@xxxxxxxxxxx> <20050826121710.GA90620@xxxxxxxxxxxxxx> <20050827200547.ECB768664@xxxxxxxxxxxxxxxxxxxxxxxx> <20050902082501.GB40558@xxxxxxxxxxxxxx>
Thank you for committing the patch:
----------------------------
revision 1.14
date: 2005/09/02 09:17:32; author: pws; state: Exp; lines: +13 -5
21693: Jean-Baptiste Quenot: recursively find ant targets
However, there was an error in this patch: it has the side effect
to change current working directory when build.xml imports files
from other directories.
Thanks to Philippe Gassmann for pointing out.
Please see patch attached.
--
Jean-Baptiste Quenot
http://caraldi.com/jbq/
Index: _ant
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_ant,v
retrieving revision 1.14
diff -u -r1.14 _ant
--- _ant 2 Sep 2005 09:17:32 -0000 1.14
+++ _ant 5 Sep 2005 13:33:26 -0000
@@ -8,14 +8,13 @@
find_targets() {
importedfiles=( $(sed -n "s/ *<import[^>]* file=[\"']\([^\"']*\)[\"'].*/\1/p" < $1) )
- targets=( $(sed -n "s/ *<target[^>]* name=[\"']\([^\"']*\)[\"'].*/\1/p" $1) )
+ sed -n "s/ *<target[^>]* name=[\"']\([^\"']*\)[\"'].*/\1/p" $1
if (( $#importedfiles )) ; then
- cd $1:h
+ ( cd $1:h
for file in $importedfiles ; do
find_targets $file
- done
+ done )
fi
- _wanted targets expl target compadd -a targets && ret=0
}
if [[ $service = *ANT_ARGS* ]]; then
@@ -126,7 +125,8 @@
)//$'\015'}"
_describe 'target' tmp && ret=0
else
- find_targets $buildfile
+ targets=( $(find_targets $buildfile) )
+ _wanted targets expl target compadd -a targets && ret=0
fi
else
_message -e targets target
Messages sorted by:
Reverse Date,
Date,
Thread,
Author