From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22526 invoked by alias); 5 Dec 2009 15:12:13 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 27461 Received: (qmail 19998 invoked from network); 5 Dec 2009 15:12:09 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received-SPF: none (ns1.primenet.com.au: domain at altlinux.org does not designate permitted sender hosts) Date: Sat, 5 Dec 2009 18:12:03 +0300 From: "Alexey I. Froloff" To: zsh-workers@zsh.org Subject: Re: [PATCH] _git: offer changed files relative to current directory Message-ID: <20091205151202.GE3344@altlinux.org> References: <1259973163-20919-1-git-send-email-raorn@altlinux.org> <20091205120753.GA21684@headley> <20091205124258.GC3344@altlinux.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="s5/bjXLgkIwAv6Hi" Content-Disposition: inline In-Reply-To: <20091205124258.GC3344@altlinux.org> User-Agent: Mutt/1.5.20 (2009-06-23) --s5/bjXLgkIwAv6Hi Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Dec 05, 2009 at 03:42:58PM +0300, Alexey I. Froloff wrote: > Just need pure-zsh "relative" implementation. Here's my quick'n'dirty code: relate() { local -a what to res what=3D( ${(ps:/:)"${${${${1//\/\///}//\/.\///}%%/.}%%/}"} ) to=3D( ${(ps:/:)"${${${${2//\/\///}//\/.\///}%%/.}%%/}"} ) while (( $#what > 0 )) && (( $#to > 0 )) && [[ $what[1] =3D=3D $to[1] ]= ]; do what[1]=3D() to[1]=3D() done while (( $#to > 0 )); do res+=3D.. to[1]=3D() done res=3D( "$res[@]" "$what[@]" ) echo ${(pj:/:)res} } relate Completion/Unix/Command/_git Functions/=20 =2E./Completion/Unix/Command/_git --=20 Regards, Sir Raorn. --s5/bjXLgkIwAv6Hi Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAksaeD4ACgkQVqT7+fkT8wpnRQCgwp1Jz4/spVR5R93emDfiye6i OncAoMwSU71WW6K6OwT00+pA/53bitBO =yrGn -----END PGP SIGNATURE----- --s5/bjXLgkIwAv6Hi--