1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-03 10:21:46 +02:00

handle sub-sub-directories of $_compdir as in the CVS-layout (14107)

This commit is contained in:
Sven Wischnowsky 2001-04-26 13:03:24 +00:00
parent aa99b19c08
commit 727912d1cb
4 changed files with 23 additions and 10 deletions

View file

@ -1,5 +1,9 @@
2001-04-26 Sven Wischnowsky <wischnow@zsh.org>
* 14107: Completion/compaudit, Completion/compinstall,
Doc/Zsh/compsys.yo: handle sub-sub-directories of $_compdir as
in the CVS-layout
* 14105: Completion/Base/Utility/_arguments,
Completion/Base/Utility/_guard,
Completion/X/Utility/_x_arguments,

View file

@ -55,11 +55,11 @@ if [[ -n $_compdir ]]; then
# Too few files: we need some more directories, or we need to check
# that all directories (not just Base) are present.
_i_addfiles=()
if [[ $_compdir = */Base ]]; then
# Add all the Completion subdirectories
_i_addfiles=(${_compdir:h}/*(/))
if [[ -d $_compdir/Base/Core ]]; then
# Add all the Completion subdirectories (CVS-layout)
_i_addfiles=(${_compdir}/*/*(/))
elif [[ -d $_compdir/Base ]]; then
# Likewise
# Likewise (installation-layout)
_i_addfiles=(${_compdir}/*(/))
fi
for _i_line in {1..$#i_addfiles}; do

View file

@ -190,7 +190,9 @@ __ci_set_compdir() {
__ci_set_compdir $fpath
if [[ -d $compdir/Base ]]; then
if [[ -d $compdir/Base/Core ]]; then
subdirs=2
elif [[ -d $compdir/Base ]]; then
subdirs=1
### compdir=${compdir:h}
fi
@ -229,12 +231,18 @@ initialised completion in this shell, you should do so, then run
compinstall again."
fi
fi
if [[ -n $subdirs ]]; then
if [[ $subdirs = 2 ]]; then
fpath_line=($compdir/[A-Z]*/[A-Z]*)
fpath_line="fpath=($fpath ${(F)fpath_line})"
elif [[ -n $subdirs ]]; then
fpath_line=($compdir/[A-Z]*)
fpath_line="fpath=($fpath ${(F)fpath_line})"
fi
else
if [[ -n $subdirs ]]; then
if [[ $subdirs = 2 ]]; then
print "Completion directories $compdir/*/*
are already in your \$fpath, good."
elif [[ -n $subdirs ]]; then
print "Completion directories $compdir/*
are already in your \$fpath, good."
else

View file

@ -142,9 +142,10 @@ contains the required directories for the standard functions.
For incomplete installations, if tt(compinit) does not find enough files
beginning with an underscore (fewer than twenty) in the search path, it
will try to find more by adding the directory tt(_compdir) to the search
path. Furthermore, if the directory in question ends in the path segment
tt(Base), or has a subdirectory named tt(Base), tt(compinit) will add all
subdirectories of the directory where tt(Base) is to the path: this allows
path. If that directory has a subdirectory named tt(Base), all
subdirectories will be added to the path. Furthermore, if the subdirectory
tt(Base) has a subdirectory named tt(Core), tt(compinit) will add all
subdirectories of the subdirectories is to the path: this allows
the functions to be in the same format as in the tt(zsh) source
distribution.