Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Completing directories with special suffix
- X-seq: zsh-users 4790
- From: Brian Agnew <brianagnew@xxxxxxxxx>
- To: Will Sargent <wsargent@xxxxxxx>, zsh-users@xxxxxxxxxx
- Subject: Re: Completing directories with special suffix
- Date: Thu, 28 Mar 2002 09:59:04 +0000 (GMT)
- In-reply-to: <JMEGJPLJEICAFFFLHGPBGEAADAAA.wsargent@xxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
I solved this in a non-zsh fashion by writing a program called classfind that
parsed my classpath and built a cache of classes vs. package/directory.
So I can identify which jar I pick up a particular class from.
I then built a zsh completion around it, such that this program was invoked for
'java com.oopsconsultancy.<TAB>'. So it doesn't complete on directories, but
from your classpath.
More details if you're interested.
Brian
--- Will Sargent <wsargent@xxxxxxx> wrote: > Hello all,
>
> I'm trying to get the zsh code completion to expand out java directories and
> application modules so that I have directory completion set up with the dot
> instead of the slash.
>
> As an example, I'd like to be able to do with java and a directory
> /com/foo/bar containing a file Main.class
>
> java -classpath . com.foo.bar.Main
>
> using the dot prefix to expand on com.f<tab>, if that makes any sense.
>
> I also use ATG Dynamo heavily, so which uses application modules in the same
> style. I have a script for this, but it still expands things out with the /
> tag. It's almost what I want, but not quite; I'd also like it so that only
> directories which contain a META-INF directory are considered.
>
> So given a directory structure
>
> $DYNAMO_ROOT/
> DAS/
> META-INF/
> LDAP/
> META-INF/
> iPlanetDirectory/
> META-INF/
> DPS/
> META-INF/
> home/
> no meta inf dir here/
>
> Then
>
> startDynamo -m DAS.LDAP.iPlanetDirectory
>
> would be expanded out, but home wouldn't be on the possible list, and DPS
> wouldn't have any child completions.
>
> I've created a file called _modules with the following text
>
> #autoload
>
> # Because of the way that the files options are processed, need to pass in
> # DYNAMO_ROOT and not $DYNAMO_HOME/..
>
> # We also want to find files which contain a META-INF directory.
> # We also want to be able to expand out sub-modules.
>
> DYNAMO_ROOT=$DYNAMO_HOME/..
>
> _files -/ -W DYNAMO_ROOT
>
> but that's as far as I've gotten for now.
>
> What should I change to get the code working like I want?
>
> Will.
>
>
>
=====
Brian Agnew http://www.oopsconsultancy.com
OOPS Consultancy Ltd brian@xxxxxxxxxxxxxxxxxxx
Tel: +44 (0)7720 397526
Fax: +44 (0)20 8682 0012
__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com
Messages sorted by:
Reverse Date,
Date,
Thread,
Author