about summary refs log tree commit diff
path: root/Completion/User
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/User')
-rw-r--r--Completion/User/_prcs17
1 files changed, 10 insertions, 7 deletions
diff --git a/Completion/User/_prcs b/Completion/User/_prcs
index 30c76e791..5f964fbac 100644
--- a/Completion/User/_prcs
+++ b/Completion/User/_prcs
@@ -5,7 +5,7 @@
 
 (( $+functions[_prcs_projects] )) ||
 _prcs_projects() {
-  compadd $@ - ${opt_args[-R]:-${opt_args[--repository]:-${PRCS_REPOSITORY:-$HOME/PRCS}}}/*(/:t)
+  compadd $@ - ${~opt_args[-R]:-${opt_args[--repository]:-${PRCS_REPOSITORY:-$HOME/PRCS}}}/*(/:t)
 }	   
 
 # standard options for all subcommands 
@@ -65,6 +65,7 @@ else
 	  compress\:"instruct PRCS to save disk space for project"
 	  init\:"create a repository entry"
 	  pdelete\:"delete a repository entry"
+	  pinfo\:"list all projects in the repository"
 	  prename\:"rename a repository entry"
 	  rebuild\:"reconstruct PRCS data files in the repository"
 	  uncompress\:"instruct PRCS to save time in processing project"))'
@@ -75,11 +76,17 @@ else
       access|compress|init|pdelete|prename|rebuild)
         _prcs_arguments ':project name:_prcs_projects'
         ;;
+      pinfo)
+	_prcs_arguments
+	;;
       uncompress)
         _prcs_arguments \
 	  '-i[expand the entire project immediately]' \
           ':project name:_prcs_projects'
         ;;
+      *)
+	_message "unknown prcs administrative subfunction: $words[1]"
+	;;
       esac
     fi
     ;;
@@ -120,11 +127,6 @@ else
       '*:file or directory:_files'
     ;;
   diff)
-#
-# FIXME: when there will be a _diff completion function,
-#        we should complete with diff options after `--' :
-# prcs diff [OPTION ...] [PROJECT [FILE-OR-DIR ...]] [-- [DIFF-OPTION ...]]
-#
     _prcs_arguments \
       '*--revison=[version of the project]:revision:' \
       '*-r[version of the project]:revision:' \
@@ -134,6 +136,7 @@ else
       '(--new)-N[compare new files against empty files]' \
       "(-P)--exclude-project-file[don't diff the project file]" \
       "(--exclude-project-file)-P[don't diff the project file]" \
+      '--[introduce diff options]:*::diff options:=  _diff_options ${PRCS_DIFF_COMMAND:-diff}' \
       ':project name:_prcs_projects' \
       '*:file or directory:_files'
     ;;
@@ -197,7 +200,7 @@ else
       ':project name:_prcs_projects'
     ;;
   *)
-    _message "unknown prcs command: $words[2]"
+    _message "unknown prcs command: $words[1]"
   ;;
   esac
 fi