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

Re: User installation script for new completion



Bruce Stephens wrote:
> > +#  - Probably should allow a set of directories to be added to $fpath,
> > +#    like Core, Base, etc.
> 
> Yes, probably.  Couldn't compinit do this, though?  i.e., it could
> look at the directory it's in for subdirectories, and add them?

Not quite what you suggested, but it should simplify installation when I
modify compinstall:  compinit looks at how many completion files it has
found, and if there are fewer than twenty (that's about the number in the
Core directory) it adds the path to itself to fpath.  I haven't quite
worked out on what occasions it should look for subdirectories.

This fails when functionargzero is not set.  Great.  Any better
suggestions?

--- Completion/Core/compinit.old	Mon May  3 09:54:38 1999
+++ Completion/Core/compinit	Mon May  3 11:54:13 1999
@@ -272,6 +272,11 @@
 
 typeset -U _i_files
 _i_files=( ${^~fpath}/_(|*[^~])(N:t) )
+if [[ $#_i_files -lt 20 && $0 = */* ]]; then
+  # Assume that we need to add the compinit directory to fpath.
+  fpath=(${0:h} $fpath)
+  _i_files=( ${^~fpath}/_(|*[^~])(N:t) )
+fi
 _i_initname=$0
 _i_done=''
 
-- 
Peter Stephenson <pws@xxxxxxxxxxxxxxxxx>       Tel: +39 050 844536
WWW:  http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy



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