From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14588 invoked from network); 26 Aug 2005 12:17:29 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 26 Aug 2005 12:17:29 -0000 Received: (qmail 3958 invoked from network); 26 Aug 2005 12:17:23 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 26 Aug 2005 12:17:23 -0000 Received: (qmail 6870 invoked by alias); 26 Aug 2005 12:17:21 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 21684 Received: (qmail 6861 invoked from network); 26 Aug 2005 12:17:20 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 26 Aug 2005 12:17:20 -0000 Received: (qmail 3662 invoked from network); 26 Aug 2005 12:17:20 -0000 Received: from 195-13-58-165.oxyd.net (HELO caraldi.com) (195.13.58.165) by a.mx.sunsite.dk with SMTP; 26 Aug 2005 12:17:13 -0000 Received: from vision.anyware (10.21.96-84.rev.gaoland.net [84.96.21.10]) by caraldi.com (Postfix) with ESMTP id ED12860DE for ; Fri, 26 Aug 2005 14:17:11 +0200 (CEST) Received: by vision.anyware (Postfix, from userid 1021) id 1BEB6613B; Fri, 26 Aug 2005 14:17:13 +0200 (CEST) Date: Fri, 26 Aug 2005 14:17:12 +0200 From: Jean-Baptiste Quenot To: zsh-workers@sunsite.dk Subject: [PATCH] Ant Completion: Find targets recursively Message-ID: <20050826121710.GA90620@vision.anyware> Mail-Followup-To: Jean-Baptiste Quenot , zsh-workers@sunsite.dk Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="xHFwDpU9dbj6ez1V" Content-Disposition: inline User-Agent: mutt-ng/devel (FreeBSD) X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.0.4 --xHFwDpU9dbj6ez1V Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello, Thank you very much for providing support for imported files in Ant completion. However, recursive handling of imported files was not supported. Please find attached a patch that adresses this issue. This patch is against zsh 4.2.5 Thanks in advance, -- Jean-Baptiste Quenot http://caraldi.com/jbq/ --xHFwDpU9dbj6ez1V Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch-zsh-ant-find-targets --- _ant.orig Wed Aug 3 10:51:03 2005 +++ _ant Fri Aug 26 14:13:05 2005 @@ -14,6 +14,18 @@ unset target fi +find_targets() { + importedfiles=( $(sed -n "s/ *]* file=[\"']\([^\"']*\)[\"'].*/\1/p" < $1) ) + targets=( $(sed -n "s/ *]* name=[\"']\([^\"']*\)[\"'].*/\1/p" $1) ) + if (( $#importedfiles )) ; then + cd $1:h + for file in $importedfiles ; do + find_targets $file + done + fi + _wanted targets expl target compadd -a targets && ret=0 +} + _arguments -C \ '-help[display usage information]' \ '-projecthelp[print project help information]' \ @@ -87,11 +99,7 @@ buildfile=${(v)opt_args[(I)(-f|-file|-buildfile)]:-build.xml} fi if [[ -f $buildfile ]]; then - importedfiles=( $(sed -n "s/ *]* file=[\"']\([^\"']*\)[\"'].*/\1/p" < $buildfile) ) - targets=( $(sed -n "s/ *]* name=[\"']\([^\"']*\)[\"'].*/\1/p" $buildfile) ) - (( $#importedfiles )) && targets+=( $(cd $buildfile:h; - sed -n "s/ *]* name=[\"']\([^\"']*\)[\"'].*/\1/p" $importedfiles) ) - _wanted targets expl target compadd -a targets && ret=0 + find_targets $buildfile else _message -e targets target fi --xHFwDpU9dbj6ez1V--