From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17406 invoked by alias); 11 Mar 2011 01:15:40 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 15859 Received: (qmail 18746 invoked from network); 11 Mar 2011 01:15:39 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.220.171 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=J/3ugX1k1l/zbqciPgo+yNltsxGjEeOBQ2zXAslEPMM=; b=my6eoj5Nlw5iL+h6ufNxmwAMJnE2trF1vvX81V7KffIk8WW4SMvqhG/ZNt7rhV1AyY g6LUuOYcG0x6nQ0FEjtQyiQ28M9i7tjswxOr0VyaoUQiLMVXgugkY3bbuuE+o74FEKlP IRmwii/5kgjMISbWL/giDTvj+ffemdBl6K9bU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=l8FojxcOx99huLQUcJMYV440Bx1Nfoi2kamNLrZJLzmlDM8ftGLQLb8HwsCVon5cSt qJSmn702KDXuRwaoMoKmD8tJ5dp500Nnpr8/vht+phBDnhmciH/nXgwj1J2SWe600I3w NzmVwZhC/bzU7ojjI6Eec44WBfk10lPz7R8rs= MIME-Version: 1.0 In-Reply-To: References: Date: Fri, 11 Mar 2011 02:15:34 +0100 Message-ID: Subject: Re: possibly useful zsh_directory_name implementation From: Mikael Magnusson To: Zsh Users Content-Type: text/plain; charset=UTF-8 On 11 March 2011 02:06, Mikael Magnusson wrote: > function zsh_directory_name () { > case $1 in > n) > case $2 in > /*) > reply=( /${(j:/:)${(s:/:)PWD}[1,(er)${2[2,-1]}]} ) > ;; > .*) > reply=( (../)##${2[2,-1]}([1]) ) > ;; > esac > ;; > c) > local types vals description > types=( '.:children of parent directories' '/:pwd segment' ) > case $PREFIX in > '') > vals=( $types ) > _describe 'dynamic dir type' vals -V dynamic-dirs -o -S '' > ;; > .*) > vals=( (../)##*~(../)##$PWD:t(/:t) ) > ;| > /*) > vals=( "${(@)${(s:/:)PWD}[1,-2]}" ) > ;| > *) > _wanted -V dynamic-dirs expl > ${${types[(r)$PREFIX[1]*]}[3,-1]} compadd -P $PREFIX[1] -qQS / -d vals > ${(q)^vals}\] These three lines should be one line, silly email. -- Mikael Magnusson