summary refs log tree commit diff
path: root/Completion/compinstall
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/compinstall')
-rw-r--r--Completion/compinstall14
1 files changed, 11 insertions, 3 deletions
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