Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Completing directories with special suffix



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.





Messages sorted by: Reverse Date, Date, Thread, Author