diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-26 13:03:24 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-26 13:03:24 +0000 |
commit | 727912d1cbbc5593a870941d26f3234d49b45847 (patch) | |
tree | bafb40940f51a81c534415bf93b42e7e25b43e6f /Completion | |
parent | aa99b19c088324b17c0c5e1caee4fc3b5777deab (diff) | |
download | zsh-727912d1cbbc5593a870941d26f3234d49b45847.tar.gz zsh-727912d1cbbc5593a870941d26f3234d49b45847.tar.xz zsh-727912d1cbbc5593a870941d26f3234d49b45847.zip |
handle sub-sub-directories of $_compdir as in the CVS-layout (14107)
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/compaudit | 8 | ||||
-rw-r--r-- | Completion/compinstall | 14 |
2 files changed, 15 insertions, 7 deletions
diff --git a/Completion/compaudit b/Completion/compaudit index 9cab88bbf..f03949822 100644 --- a/Completion/compaudit +++ b/Completion/compaudit @@ -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 diff --git a/Completion/compinstall b/Completion/compinstall index 971816ea8..b7b4a8412 100644 --- a/Completion/compinstall +++ b/Completion/compinstall @@ -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 |