about summary refs log tree commit diff
path: root/Completion/Unix/Command/_prcs
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-03-26 16:52:58 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-03-26 16:52:58 +0000
commita9293199ec03d0a941504b06b3f4f07d97626fef (patch)
treed4cee2058fd1f8ac3a04444464301631644e93d7 /Completion/Unix/Command/_prcs
parent913d5266003fb75a9acd2f19fdd8e5a1ccbf9221 (diff)
downloadzsh-a9293199ec03d0a941504b06b3f4f07d97626fef.tar.gz
zsh-a9293199ec03d0a941504b06b3f4f07d97626fef.tar.xz
zsh-a9293199ec03d0a941504b06b3f4f07d97626fef.zip
18390: tidy up _prcs and update _xmlsoft for latest xsltproc version
Diffstat (limited to 'Completion/Unix/Command/_prcs')
-rw-r--r--Completion/Unix/Command/_prcs239
1 files changed, 112 insertions, 127 deletions
diff --git a/Completion/Unix/Command/_prcs b/Completion/Unix/Command/_prcs
index c5a5313b1..29a1c8652 100644
--- a/Completion/Unix/Command/_prcs
+++ b/Completion/Unix/Command/_prcs
@@ -1,11 +1,17 @@
 #compdef prcs
 
+local curcontext="$curcontext" state line subcmds
+typeset -A opt_args
+
 # lookup project names in the repository
 # (this does not handle subprojects)
 
 (( $+functions[_prcs_projects] )) ||
 _prcs_projects() {
-  compadd $@ - ${~opt_args[-R]:-${opt_args[--repository]:-${PRCS_REPOSITORY:-$HOME/PRCS}}}/*(/:t)
+  local expl
+
+  _wanted prcs-projects expl 'project name' compadd "$@" - \
+      ${~opt_args[-R]:-${opt_args[--repository]:-${PRCS_REPOSITORY:-~/PRCS}}}/*(/:t)
 }	   
 
 # standard options for all subcommands 
@@ -13,194 +19,173 @@ _prcs_projects() {
 (( $+functions[_prcs_arguments] )) ||
 _prcs_arguments() {
   _arguments -s \
-    '(-f)--force[resolve interactive queries in some fixed way]' \
-    '(--force)-f[resolve interactive queries in some fixed way]' \
-    '(-h -H)--help[print out help]' \
-    '(--help -H)-h[print out help]' \
-    '(--help -h)-H[print out help]' \
-    '(-j)--jobs=[spawn many child processes at once]:number:' \
-    '(--jobs)-j[spawn many child processes at once]:number:' \
-    '(-l)--long-format[long format]' \
-    '(--long-format)-l[long format]' \
-    '(-L)--long-long-format[long format]' \
-    '(--long-long-format)-L[longer format]' \
-    '(-n)--no-action[no action]' \
-    '(--no-action)-n[no action]' \
-    '(-q)--quiet[suppress normal informational messages]' \
-    '(--quiet)-q[suppress normal informational messages]' \
+    '(-f --force)'{-f,--force}'[resolve interactive queries in some fixed way]' \
+    '(-h -H --help)'{-h,-H,--help}'[print out help]' \
+    '(-j --jobs)'{-j,--jobs=}'[spawn many child processes at once]:number:' \
+    '(-l -L --long-format --long-long-format)'{-l,--long-format}'[long format]' \
+    '(-l -L --long-format --long-long-format)'{-L,--long-long-format}'[longer format]' \
+    '(-n --no-action)--no-action[show what would happen but leave files unchanged]' \
+    '(-q --quiet)'{-q,--quiet}'[suppress normal informational messages]' \
     "--plain-format[don't break lines at screen width]" \
-    '(-R)--repository=[set the repository directory]:directory:_files -/' \
-    '(--repository)-R[set the repository directory]:directory:_files -/' \
-    '(-v)--version[print PRCS version and exits]' \
-    '(--version)-v[print PRCS version and exits]' \
-    $@
+    '(-R --repository)'{-R,--repository=}'[specify the repository directory]:directory:_files -/' \
+    "$@"
 }
 
-if (( CURRENT == 2 )); then
-  _arguments \
-    ':prcs command:((
-      admin\:"admin subcommand"
-      checkin\:"checkin project revision"
-      checkout\:"checkout project revision"
-      config\:"verify configuration"
-      delete\:"delete named revision of project"
-      depopulate\:"remove named files from project descriptor"
-      diff\:"show differences between two revisions"
-      execute\:"execute a command for each file in a project"
-      info\:"print information about versions of project"
-      merge\:"reconcile differences between working files and another revision"
-      package\:"package the project and all its revisions into packagefile"
-      populate\:"add named files to project descriptor"
-      rekey\:"set keywords in selected files"
-      unpackage\:"unpackage project in packagefile"))'
-else
-  shift words
-  (( --CURRENT )) 
-  case "$words[1]" in
+_arguments -C \
+  '(* -)'{-h,-H,--help}'[print out help]' \
+  '(* -)--version[display program version]' \
+  '*:: :->subcmd' && return 0
+
+if (( CURRENT == 1 )); then
+  subcmds=(
+    'admin:admin subcommand'
+    'checkin:checkin project revision'
+    'checkout:checkout project revision'
+    'config:verify configuration'
+    'delete:delete named revision of project'
+    'depopulate:remove named files from project descriptor'
+    'diff:show differences between two revisions'
+    'execute:execute a command for each file in a project'
+    'info:print information about versions of project'
+    'merge:reconcile differences between working files and another revision'
+    'package:package the project and all its revisions into packagefile'
+    'populate:add named files to project descriptor'
+    'rekey:set keywords in selected files'
+    'unpackage:unpackage project in packagefile'
+  )
+  
+  _describe -t commands 'prcs command' subcmds
+  return
+fi
+
+curcontext="${curcontext%:*}-$words[1]:"
+
+case "$words[1]" in
   admin)
     if (( CURRENT == 2 )); then
-      _arguments \
-	':admin subcommand:((
-	  access\:"set the access permissions on the repository"
-	  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"))'
+      subcmds=(
+	'access:set the access permissions on the repository'
+	'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'
+      )
+      _describe -t commands 'admin subcommand' subcmds
     else
       shift words
       (( --CURRENT ))
+      curcontext="${curcontext%:*}-$words[1]:"
       case "$words[1]" in
-      access|compress|init|pdelete|prename|rebuild)
-        _prcs_arguments ':project name:_prcs_projects'
+	access|compress|init|pdelete|prename|rebuild)
+          _prcs_arguments ':project name:_prcs_projects'
         ;;
-      pinfo)
-	_prcs_arguments
+	pinfo)
+	  _prcs_arguments
 	;;
-      uncompress)
-        _prcs_arguments \
-	  '-i[expand the entire project immediately]' \
-          ':project name:_prcs_projects'
+	uncompress)
+          _prcs_arguments \
+	    '-i[expand the entire project immediately]' \
+            ':project name:_prcs_projects'
         ;;
-      *)
-	_message "unknown prcs administrative subfunction: $words[1]"
+	*)
+	  _message "unknown prcs administrative subfunction: $words[1]"
 	;;
       esac
     fi
-    ;;
+  ;;
   checkin)
     _prcs_arguments \
-      '(-r)--revision=[version of the project]:revision:' \
-      '(--revision)-r[version of the project]:revision:' \
-      '(-s)--skilled-merge[turn off most of the safety features of merge]' \
-      '(--skilled-merge)-s[turn off most of the safety features of merge]' \
+      '(-r --revision)'{-r+,--revision=}'[specify version of the project]:revision:' \
+      '(-s --skilled-merge)'{-s,--skilled-merge}'[turn off most of the safety features of merge]' \
       ':project name:_prcs_projects' \
       '*:file or directory:_files'
-    ;;
+  ;;
   checkout)
     _prcs_arguments \
-      '(-r)--revision=[version of the project]:revision:' \
-      '(--revision)-r[version of the project]:revision:' \
-      '(-p)--preserve[preserve permissions on files that are checked out]' \
-      '(--preserve)-p[preserve permissions on files that are checked out]' \
-      "(-u)--unlink[don't overwrite symbolic link references]" \
-      "(--unlink)-u[don't overwrite symbolic link references]" \
-      "(-P)--exclude-project-file[don't checkout the project file]" \
-      "(--exclude-project-file)-P[don't checkout the project file]" \
+      '(-r --revision)'{-r+,--revision=}'[specify version of the project]:revision:' \
+      '(-p --preserve)'{-p,--preserve}'[preserve permissions on files that are checked out]' \
+      '(-u --unlink)'{-u,--unlink}"[don't overwrite symbolic link references]" \
+      '(-P --exclude-project-file)'{-P,--exclude-project-file}"[don't checkout the project file]" \
       ':project name:_prcs_projects' \
       '*:file or directory:_files'
-    ;;
+  ;;
   config)
     _prcs_arguments
-    ;;
+  ;;
   delete)
     _prcs_arguments \
-      '(-r)--revision=[version of the project]:reversion:' \
-      '(--revision)-r[version of the project]:reversion:' \
+      '(-r --revision)'{-r+,--revision=}'[specify version of the project]:revision:' \
       ':project name:_prcs_projects'
-    ;;
+  ;;
   depopulate)
     _prcs_arguments \
       ':project name:_prcs_projects' \
       '*:file or directory:_files'
-    ;;
+  ;;
   diff)
     _prcs_arguments \
-      '*--revision=[version of the project]:revision:' \
-      '*-r[version of the project]:revision:' \
-      '(-k)--keywords[compare keywords too]' \
-      '(--keywords)-k[compare keywords too]' \
-      '(-N)--new[compare new files against empty files]' \
-      '(--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]" \
+      '*'{-r+,--revision=}'[specify version of the project]:revision:' \
+      '(-k --keywords)'{-k,--keywords}'[compare keywords too]' \
+      '(-N --new)'{-N,--new}'[compare new files against empty files]' \
+      '(-P --exclude-project-file)'{-P,--exclude-project-file}"[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'
-    ;;
+  ;;
   execute)
-      _prcs_arguments \
-	'(-r)--revision=[version of the project]:reversion:' \
-	'(--revision)-r[version of the project]:reversion:' \
-	'--pre[list directories first]' \
-	'(--pipe)--all[execute command once, with all files as arguments]' \
-	'(--all)--pipe[supply file contents as the standard input]' \
-	'--match[execute command on files matching a pattern]:pattern:' \
-	'--not[execute command on files not matching a pattern]:pattern:' \
-	'--:command: _command_names -e:*::arguments: _normal' \
-	':project name:_prcs_projects' \
-	'*:file or directory:_files'
-    ;;
+    _prcs_arguments \
+      '(-r --revision)'{-r+,--revision=}'[specify version of the project]:revision:' \
+      '--pre[list directories first]' \
+      '(--pipe)--all[execute command once, with all files as arguments]' \
+      '(--all)--pipe[supply file contents as the standard input]' \
+      '--match[execute command on files matching a pattern]:pattern:' \
+      '--not[execute command on files not matching a pattern]:pattern:' \
+      '--:command: _command_names -e:*::arguments: _normal' \
+      ':project name:_prcs_projects' \
+      '*:file or directory:_files'
+  ;;
   info)
     _prcs_arguments \
-      '(-r)--revision=[version of the project]:revision:' \
-      '(--revision)-r[version of the project]:revision:' \
+      '(-r --revision)'{-r+,--revision=}'[specify version of the project]:revision:' \
       '--sort=[set sorting type]:sorting type:(version date)' \
       ':project name:_prcs_projects' \
       '*:file or directory:_files'
-    ;;
+  ;;
   merge)
     _prcs_arguments \
-      '(-r)--revision=[version of the project]:revision:' \
-      '(--revision)-r[version of the project]:revision:' \
-      '(-s)--skilled-merge[turn off most of the safety features of merge]' \
-      '(--skilled-merge)-s[turn off most of the safety features of merge]' \
-      "(-u)--unlink[don't overwrite symbolic link references]" \
-      "(--unlink)-u[don't overwrite symbolic link references]" \
+      '(-r --revision)'{-r+,--revision=}'[specify version of the project]:revision:' \
+      '(-s --skilled-merge)'{-s,--skilled-merge}'[turn off most of the safety features of merge]' \
+      '(-u --unlink)'{-u,--unlink}"[don't overwrite symbolic link references]" \
       ':project name:_prcs_projects' \
       '*:file or directory:_files'
-    ;;
+  ;;
   package)
     _prcs_arguments \
-      '(-r)--revision=[version of the project]:revision:' \
-      '(--revision)-r[version of the project]:revision:' \
-      '(-z)--compress=[compress the output]' \
-      '(--compress)-z[compress the output]' \
+      '(-r --revision)'{-r+,--revision=}'[specify version of the project]:revision:' \
+      '(-z --compress)'{-z,--compress=}'[compress the output]' \
       ':project name:_prcs_projects' \
       ':file:_files'
-    ;;
+  ;;
   populate)
     _prcs_arguments \
-      '(-d)--delete=[perform optional deletions]' \
-      '(--delete)-d[perform optional deletions]' \
+      '(-d --delete)'{-d,--delete=}'[perform optional deletions]' \
       ':project name:_prcs_projects' \
       '*:file or directory:_files'
-    ;;    
+  ;;    
   rekey)
     _prcs_arguments \
-      "(-u)--unlink[don't overwrite symbolic link references]" \
-      "(--unlink)-u[don't overwrite symbolic link references]" \
+      '(-u --unlink)'{-u,--unlink}"[don't overwrite symbolic link references]" \
       ':project name:_prcs_projects'
-    ;;    
+  ;;    
   unpackage)
     _prcs_arguments \
       ':file:_files' \
       ':project name:_prcs_projects'
-    ;;
+  ;;
   *)
     _message "unknown prcs command: $words[1]"
   ;;
-  esac
-fi
+esac