summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog20
-rw-r--r--Completion/Cygwin/Command/.distfiles7
-rw-r--r--Completion/Cygwin/Command/_cygcheck39
-rw-r--r--Completion/Cygwin/Command/_cygpath30
-rw-r--r--Completion/Cygwin/Command/_cygrunsrv25
-rw-r--r--Completion/Cygwin/Command/_cygserver28
-rw-r--r--Completion/Cygwin/Command/_cygstart16
-rw-r--r--Completion/Cygwin/Command/_dumper18
-rw-r--r--Completion/Cygwin/Command/_getclip12
-rw-r--r--Completion/Cygwin/Command/_getfacl5
-rw-r--r--Completion/Cygwin/Command/_mkshortcut15
-rw-r--r--Completion/Cygwin/Command/_mkzsh7
-rw-r--r--Completion/Cygwin/Command/_putclip12
-rw-r--r--Completion/Cygwin/Command/_readshortcut21
-rw-r--r--Completion/Cygwin/Command/_setfacl13
15 files changed, 182 insertions, 86 deletions
diff --git a/ChangeLog b/ChangeLog
index f667ee888..9c31bcae0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2009-01-24  Doug Kearns  <dougkearns@gmail.com>
+
+	* 26411: Completion/Cygwin/Command/.distfiles,
+	Completion/Cygwin/Command/_cygcheck,
+	Completion/Cygwin/Command/_cygpath,
+	Completion/Cygwin/Command/_cygrunsrv,
+	Completion/Cygwin/Command/_cygserver,
+	Completion/Cygwin/Command/_cygstart,
+	Completion/Cygwin/Command/_dumper,
+	Completion/Cygwin/Command/_getclip,
+	Completion/Cygwin/Command/_getfacl,
+	Completion/Cygwin/Command/_mkshortcut,
+	Completion/Cygwin/Command/_mkzsh,
+	Completion/Cygwin/Command/_putclip,
+	Completion/Cygwin/Command/_readshortcut,
+	Completion/Cygwin/Command/_setfacl: update Cygwin completion
+	functions and add new completion for setfacl and readshortcut.
+
 2009-01-22  Clint Adams  <clint@zsh.org>
 
 	* 26407: Completion/Debian/Command/_aptitude: patch to handle
@@ -10975,5 +10993,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4523 $                         
+* $Revision: 1.4524 $                         
 *****************************************************
diff --git a/Completion/Cygwin/Command/.distfiles b/Completion/Cygwin/Command/.distfiles
index 32de38edc..d2622cdd5 100644
--- a/Completion/Cygwin/Command/.distfiles
+++ b/Completion/Cygwin/Command/.distfiles
@@ -1,6 +1,7 @@
 DISTFILES_SRC='
 .distfiles
-_cygcheck    _cygpath     _cygrunsrv   _cygserver   _cygstart
-_dumper      _getclip     _getfacl     _mkshortcut  _mkzsh
-_pscp        _putclip     
+_cygcheck       _cygpath        _cygrunsrv      _cygserver
+_cygstart       _dumper         _getclip        _getfacl
+_mkshortcut     _mkzsh          _pscp           _putclip
+_readshortcut   _setfacl
 '
diff --git a/Completion/Cygwin/Command/_cygcheck b/Completion/Cygwin/Command/_cygcheck
index d0a78a248..e0d7532e2 100644
--- a/Completion/Cygwin/Command/_cygcheck
+++ b/Completion/Cygwin/Command/_cygcheck
@@ -1,14 +1,31 @@
 #compdef cygcheck cygcheck.exe
-#Generated by Felix Rosencrantz
 
-local context state line
+# cygwin 1.5.25
+
+local curcontext="$curcontext" state line expl
 typeset -A opt_args
-_arguments  \
-  '(--check-setup --help -c -h)'{-c,--check-setup}'[check packages installed via setup.exe]' \
-  '(--keycheck --sysinfo -k -s)'{-s,--sysinfo}'[system information (not with -k)]' \
-  '(--verbose -v)'{-v,--verbose}'[verbose output (indented) (for -s or programs)]' \
-  '(--registry -r)'{-r,--registry}'[registry search (requires -s)]' \
-  '(--keycheck --sysinfo -k -s)'{-k,--keycheck}'[perform a keyboard check session (not with -s)]' \
-  '(--check-setup --help -c -h)'{-h,--help}'[give help about the info (not with -c)]' \
-  '(--version -V)'{-V,--version}'[output version information and exit]' \
-  '*:program: _command_names -e:*::program arguments: _normal'
+
+local -a exclusive_opts
+exclusive_opts=(-k --keycheck -f --find-package -l --list-package -p --package-query -h --help -V --version)
+
+_arguments -C -s -S \
+  "(* $exclusive_opts -c --check-setup)"{-c,--check-setup}'[show installed version of the specified package and verify integrity (or for all installed packages if none specified)]:*:package:->package' \
+  "(* $exclusive_opts -d --dump-only)"{-d,--dump-only}'[just list packages, do not verify (with -c)]' \
+  "(* $exclusive_opts -s --sysinfo)"{-s,--sysinfo}'[produce diagnostic system information (implies -c -d)]' \
+  "(* $exclusive_opts -r --registry)"{-r,--registry}'[also scan registry for Cygwin settings (with -s)]' \
+  '(* -)'{-k,--keycheck}'[perform a keyboard check session (must be run from a plain console only, not from a pty/rxvt/xterm)]' \
+  '(* -)'{-f,--find-package}'[find the package that specified file belongs to]:*:file:_files' \
+  '(* -)'{-l,--list-package}'[list contents of the specified package (or all packages if none given)]:*:package:->package' \
+  '(* -)'{-p,--package-query}'[search for the specified regexp in the entire cygwin.com package repository (requires internet connectivity)]:regexp:' \
+  '(-V --version -k --keycheck -f --find-package -l --list-package -p --package-query -c --check-setup -d --dump-only -v --verbose)'{-v,--verbose}'[produce more verbose output]' \
+  '(-V --version -k --keycheck -f --find-package -l --list-package -p --package-query -c --check-setup -d --dump-only -h --help)'{-h,--help}'[annotate output with explanatory comments when given with another command, otherwise print this help]' \
+  '(* -)'{-V,--version}'[print the version of cygcheck and exit]' \
+  '(-)*:program: _command_names -e' && return
+
+if [[ "$state" = package ]]; then
+  local -a packages
+  packages=( ${${${(f)"$(_call_program packages $words[1] -c -d)"}[3,-1]}%% *} )
+  _wanted packages expl package compadd -a packages && return
+fi
+
+return 1
diff --git a/Completion/Cygwin/Command/_cygpath b/Completion/Cygwin/Command/_cygpath
index 0ecfccc2e..0b64d55d4 100644
--- a/Completion/Cygwin/Command/_cygpath
+++ b/Completion/Cygwin/Command/_cygpath
@@ -1,26 +1,28 @@
 #compdef cygpath cygpath.exe
-#Generated by Felix Rosencrantz
 
-_arguments  \
-  '(--dos --mixed --type --unix --windows -d -m -t -u -w)'{-d,--dos}'[print DOS (short) form of NAME (C:\PROGRA~1\)]' \
-  '(--dos --mixed --type --unix --windows -d -m -t -u -w)'{-m,--mixed}'[like --windows, but with regular slashes (C:/WINNT)]' \
-  '(--dos --mixed --type --unix --windows -d -m -t -u -w)'{-u,--unix}'[(default) print Unix form of NAME (/cygdrive/c/winnt)]' \
-  '(--dos --mixed --type --unix --windows -d -m -t -u -w)'{-w,--windows}'[print Windows form of NAME (C:\WINNT)]' \
-  '(--dos --mixed --type --unix --windows -d -m -t -u -w)'{-t,--type}':print type:(dos mixed unix windows)' \
+# cygwin 1.5.25
+
+_arguments -s -S \
+  '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-d,--dos}'[print DOS (short) form of specified path (C:\PROGRA~1\)]' \
+  '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-m,--mixed}'[like --windows, but with regular slashes (C:/WINNT)]' \
+  '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-M,--mode}'[report on mode of file (binmode or textmode)]' \
+  '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-u,--unix}'[(default) print Unix form of specified path (/cygdrive/c/winnt)]' \
+  '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-w,--windows}'[print Windows form of specified path (C:\WINNT)]' \
+  '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-t,--type}'[print type]:type:(dos mixed unix windows)' \
   '(--absolute --long-name --path --short-name -a -l -p -s)'{-a,--absolute}'[output absolute path]' \
-  '(--absolute --long-name --path --short-name -a -l -p -s)'{-l,--long-name}'[print Windows long form of NAME (with -w, -m only)]' \
-  "(--absolute --long-name --path --short-name -a -l -p -s)"{-p,--path}"[NAME is a PATH list (i.e., '/bin:/usr/bin')]" \
-  '(--absolute --long-name --path --short-name -a -l -p -s)'{-s,--short-name}'[print DOS (short) form of NAME (with -w, -m only)]' \
+  '(--absolute --long-name --path --short-name -a -l -p -s)'{-l,--long-name}'[print Windows long form of specified path (with -w, -m only)]' \
+  "(--absolute --long-name --path --short-name -a -l -p -s)"{-p,--path}"[specified path is a PATH list (i.e., '/bin:/usr/bin')]" \
+  '(--absolute --long-name --path --short-name -a -l -p -s)'{-s,--short-name}'[print DOS (short) form of specified path (with -w, -m only)]' \
   "(--allusers -A)"{-A,--allusers}"[use 'All Users' instead of current user for -D, -P]" \
   "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-D,--desktop}"[output 'Desktop' directory and exit]" \
   "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-H,--homeroot}"[output 'Profiles' directory (home root) and exit]" \
   "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-P,--smprograms}"[output Start Menu 'Programs' directory and exit]" \
   '(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)'{-S,--sysdir}'[output system directory and exit]' \
   "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-W,--windir}"[output 'Windows' directory and exit]" \
-  '(--file -f)'{-f,--file}':read FILE for input; use - to read from STDIN:_files' \
+  '(--file -f)'{-f,--file}'[read FILE for input; use - to read from STDIN]: :_files' \
   '(--option -o)'{-o,--option}'[read options from FILE as well (for use with --file)]' \
   '(--close -c)'{-c,--close}'[close specified handle (for use in captured process)]:handle' \
   '(--ignore -i)'{-i,--ignore}'[ignore missing argument]' \
-  '(- 1)'{-h,--help}'[display usage information]' \
-  '(- 1)'{-v,--version}'[display version information]' \
-  '1: :_files'  && return 0
+  '(- *)'{-h,--help}'[display usage information]' \
+  '(- *)'{-v,--version}'[display version information]' \
+  '*: :_files'
diff --git a/Completion/Cygwin/Command/_cygrunsrv b/Completion/Cygwin/Command/_cygrunsrv
index 725ac46a0..17a0afbaa 100644
--- a/Completion/Cygwin/Command/_cygrunsrv
+++ b/Completion/Cygwin/Command/_cygrunsrv
@@ -1,11 +1,16 @@
 #compdef cygrunsrv cygrunsrv.exe
 
-_arguments  \
+# cygrunsrv 1.34
+
+_arguments -s -S \
   '(-I --install)'{-I,--install}'[install a new service]:service' \
   '(-R --remove)'{-R,--remove}'[remove specified service]:service' \
   '(-S --start)'{-S,--start}'[start specified service]:service' \
   '(-E --stop)'{-E,--stop}'[stop specified service]:service' \
+  '(-Q --query)'{-Q,--query}'[query specified service]:service' \
+  '(-L --list)'{-L,--list}'[lists services that have been installed with cygrunsrv]:server:' \
   '(-p --path)'{-p,--path}'[specify application path which is run as a service]:application path' \
+  '(-P --crs-path)'{-P,--crs-path}'[path to cygrunsrv]:path:_files' \
   '(-a --args)'{-a,--args}'[specify options to give service on startup]:args' \
   '(-c --chdir)'{-c,--chdir}'[specify working directory for the application]:directory:_directories' \
   '(-e --env)'{-e,--env}'[specify environment strings exported to service]:var=value' \
@@ -15,11 +20,17 @@ _arguments  \
   '(-u --user)'{-u,--user}'[specify user to start service under]:user:_users' \
   '(-w --passwd)'{-w,--passwd}'[specify password for user]:password' \
   '(-s --termsig)'{-s,--termsig}'[specify signal to use to stop service]:signal:_signals' \
+  '(-z --shutsig)'{-z,--shutsig}'[specify signal to send to service application when shutdown has been initiated]:signal:_signals' \
   '(-y --dep)'{-y,--dep}'[specify name of service that must be started]:service' \
-  '(-0 --stdin)'{-0,--stdin}'[specify file for stdin redirection]:file:_files' \
-  '(-1 --stdout)'{-1,--stdout}'[specify file for stdout redirection]:file:_files' \
-  '(-2 --stderr)'{-2,--stderr}'[specify file for stderr redirection]:file:_files' \
-  '(-o --shutdown)'{-o,--shutdown}'[stop service application during system shutdown]' \
+  '(-0 --stdin)'{-0,--stdin}'[specify file for stdin redirection]:stdin file:_files' \
+  '(-1 --stdout)'{-1,--stdout}'[specify file for stdout redirection]:stdout file:_files' \
+  '(-2 --stderr)'{-2,--stderr}'[specify file for stderr redirection]:stderr file:_files' \
+  '(-x --pidfile)'{-x,--pidfile}'[optional path for .pid file written by application after fork()]:pid file:_files -g "*.pid(-.)"' \
+  '(-n --neverexits)'{-n,--neverexits}'[service should never exit by itself]' \
+  '(-O --preshutdown -o --shutdown)'{-O,--preshutdown}'[stop service application during system preshutdown]' \
+  '(-O --preshutdown -o --shutdown)'{-o,--shutdown}'[stop service application during system shutdown]' \
+  '(-i --interactive)'{-i,--interactive}'[allow service to interact with the desktop (No effect since Windows Vista/Longhorn)]' \
+  '(-j --nohide )'{-j,--nohide}"[don't hide console window when service interacts with desktop]" \
+  '(-V --verbose)'{-V,--verbose}'[when used with --query or --list, causes extra information to be printed]' \
   '(- *)'{-h,--help}'[print help information]' \
-  '(- *)'{-v,--version}'[print version information]' \
-  '*: :_files'
+  '(- *)'{-v,--version}'[print version information]'
diff --git a/Completion/Cygwin/Command/_cygserver b/Completion/Cygwin/Command/_cygserver
index 413333abf..1c2744c8f 100644
--- a/Completion/Cygwin/Command/_cygserver
+++ b/Completion/Cygwin/Command/_cygserver
@@ -1,13 +1,21 @@
 #compdef cygserver cygserver.exe
-#Generated by Felix Rosencrantz
 
-local context state line
-typeset -A opt_args
-_arguments  \
-  '(--cleanup-threads -c)'{-c,--cleanup-threads}'[number of cleanup threads to use]' \
+# cygwin 1.5.25
+
+_arguments -s -S \
+  '(--config-file -f)'{-f,--config-file}'[use specified file as config file (default /etc/cygserver.conf)]:config file:_files -g "*.conf(-.)"' \
+  '(--cleanup-threads -c)'{-c,--cleanup-threads}'[number of cleanup threads to use (default 2)]:number of threads:' \
+  '(--process-cache -p)'{-p,--process-cache}'[size of process cache]:cache size:' \
+  '(--request-threads -r)'{-r,--request-threads}'[number of request threads to use (default 10)]:number of threads:' \
+  '(--debug -d)'{-d,--debug}'[log debug messages to stderr]' \
+  '(--stderr -e --no-stderr -E)'{-e,--stderr}'[log to stderr (default if stderr is a tty)]' \
+  '(--stderr -e --no-stderr -E)'{-E,--no-stderr}"[don't log to stderr (see -y, -Y options)]" \
+  '(--log-level -l)'{-l,--log-level}'[verbosity of logging (1..7) (default 6)]:verbosity level:({1..7})' \
+  '(--syslog -y --no-syslog -Y)'{-y,--syslog}'[log to syslog (default if stderr is no tty)]' \
+  '(--syslog -y --no-syslog -Y)'{-Y,--no-syslog}"[don't log to syslog (see -e, -E options)]" \
+  '(--no-sharedmem -m)'{-m,--no-sharedmem}"[don't start XSI Shared Memory support]" \
+  '(--no-msgqueues -q)'{-q,--no-msgqueues}"[don't start XSI Message Queue support]" \
+  '(--no-semaphores -s)'{-s,--no-semaphores}"[don't start XSI Semaphore support]" \
+  '(--shutdown -S)'{-S,--shutdown}'[shutdown the daemon]' \
   '(--help -h)'{-h,--help}'[output usage information and exit]' \
-  '(--request-threads -r)'{-r,--request-threads}'[number of request threads to use]' \
-  '(--shutdown -s)'{-s,--shutdown}'[shutdown the daemon]' \
-  '(--version -v)'{-v,--version}'[output version information and exit]' \
-  '*: :_files'
-            
+  '(--version -v)'{-v,--version}'[output version information and exit]'
diff --git a/Completion/Cygwin/Command/_cygstart b/Completion/Cygwin/Command/_cygstart
index c5a110b4c..c8941ea07 100644
--- a/Completion/Cygwin/Command/_cygstart
+++ b/Completion/Cygwin/Command/_cygstart
@@ -1,16 +1,15 @@
 #compdef cygstart cygstart.exe
-#Generated by Felix Rosencrantz
 
-local context state line
-typeset -A opt_args
-_arguments  \
-  '(--action -a)'{-a,--action=-}':Use specified action instead of default:(open edit explore print find)' \
+# cygwin 1.5.25
+
+_arguments -s -S \
+  '(--action -a)'{-a,--action=-}'[use specified action instead of default]:action:(open edit explore print find)' \
   '(--open -o)'{-o,--open}'[short for: --action open]' \
   '(--explore -x)'{-x,--explore}'[short for: --action explore]' \
   '(--edit -e)'{-e,--edit}'[short for: --action edit]' \
   '(--find -f)'{-f,--find}'[short for: --action find]' \
   '(--print -p)'{-p,--print}'[short for: --action print]' \
-  '(--directory -d)'{-d,--directory=-}':Set working directory:_directories' \
+  '(--directory -d)'{-d,--directory=-}'[set working directory]:directory:_directories' \
   '--hide[hides the window and activates another window]' \
   '--maximize[maximizes the specified window]' \
   '--minimize[minimizes the specified window and activates the next top-level window in the z-order]' \
@@ -22,9 +21,10 @@ _arguments  \
   '--showna[displays the window in its current state. The active window remains active]' \
   '--shownoactivate[displays a window in its most recent size and position. The active window remains active]' \
   '--shownormal[activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when displaying the window for the first time]' \
-  '(--help -?)'{'-?',--help}'[show this help message]' \
+  '(--help -?)'{-\?,--help}'[display help information]' \
   '--usage[display brief usage message]' \
   '--version[display version information]' \
   '--license[display licensing information]' \
   '--reference[open MSDN reference for ShellExecute]' \
-  '*:program: _command_names -e:*::program arguments: _normal'
+  '1:file: _alternative "programs:program: _command_names -e" "files:file:_files" "urls:URL:_urls"' \
+  '*::program arguments: _normal'
diff --git a/Completion/Cygwin/Command/_dumper b/Completion/Cygwin/Command/_dumper
index bcee4042b..42af5fd07 100644
--- a/Completion/Cygwin/Command/_dumper
+++ b/Completion/Cygwin/Command/_dumper
@@ -1,13 +1,11 @@
 #compdef dumper dumper.exe
-#Generated by Felix Rosencrantz
 
-local context state line
-typeset -A opt_args
-_arguments   \
-  '(--verbose -d)'{-d,--verbose}'[be verbose while dumping]' \
-  '(--help -h)'{-h,--help}'[output help information and exit]' \
-  '(--quiet -q)'{-q,--quiet}'[be quiet while dumping (default)]' \
-  '(--version -v)'{-v,--version}'[output version information and exit]' \
-  '1: :_file' \
+# cygwin 1.5.25
+
+_arguments -s -S \
+  '(--verbose -d --quiet -q)'{-d,--verbose}'[be verbose while dumping]' \
+  '(--verbose -d --quiet -q)'{-q,--quiet}'[be quiet while dumping (default)]' \
+  '(- 1 *)'{-h,--help}'[output help information and exit]' \
+  '(- 1 *)'{-v,--version}'[output version information and exit]' \
+  '1: :_files' \
   '*: :_pids'
-            
diff --git a/Completion/Cygwin/Command/_getclip b/Completion/Cygwin/Command/_getclip
index c27e2dfdd..4a333f907 100644
--- a/Completion/Cygwin/Command/_getclip
+++ b/Completion/Cygwin/Command/_getclip
@@ -1,10 +1,12 @@
 #compdef getclip getclip.exe
-#Generated by Felix Rosencrantz
 
-_arguments \
-  '(--dos -d)'{-d,--dos}'[output text will have DOS line endings]' \
-  '(--unix -u)'{-u,--unix}'[output text will have UNIX line endings]' \
-  '(-)'{-\?,--help}'[show this help message]' \
+# cygutils 1.3.2
+
+_arguments -s -S \
+  '(--dos -d --unix -u --no-conv -n)'{-d,--dos}'[output text will have DOS line endings]' \
+  '(--dos -d --unix -u --no-conv -n)'{-u,--unix}'[output text will have UNIX line endings]' \
+  '(--dos -d --unix -u --no-conv -n)'{-n,--no-conv}'[do not translate line endings]' \
+  '(-)'{-\?,--help}'[display help information]' \
   '(-)--usage[display brief usage message]' \
   '(-)--version[display version information]' \
   '(-)--license[display licensing information]'
diff --git a/Completion/Cygwin/Command/_getfacl b/Completion/Cygwin/Command/_getfacl
index 8e794131f..6c3b9f261 100644
--- a/Completion/Cygwin/Command/_getfacl
+++ b/Completion/Cygwin/Command/_getfacl
@@ -1,7 +1,8 @@
 #compdef getfacl getfacl.exe
-#Generated by Felix Rosencrantz
 
-_arguments  \
+# cygwin 1.5.25
+
+_arguments -s -S \
   '(--all -a)'{-a,--all}'[display the filename, owner, group, and ACL of the file]' \
   '(--dir -d)'{-d,--dir}'[display the filename, owner, group, and default ACL of the directory]' \
   '(--noname -n)'{-n,--noname}'[display user and group IDs instead of names]' \
diff --git a/Completion/Cygwin/Command/_mkshortcut b/Completion/Cygwin/Command/_mkshortcut
index 8718fa146..7d5a49d83 100644
--- a/Completion/Cygwin/Command/_mkshortcut
+++ b/Completion/Cygwin/Command/_mkshortcut
@@ -1,15 +1,20 @@
 #compdef mkshortcut mkshortcut.exe
 
-_arguments  \
+# cygutils 1.3.2
+
+_arguments -s -S \
   '(--arguments -a)'{-a,--arguments=-}'[use specified arguments]:arguments' \
+  '(--desc -d)'{-d,--desc=-}'[text for description/tooltip (defaults to POSIX path of TARGET)]:description' \
   '(--icon -i)'{-i,--icon=-}'[specify icon file for link to use]:icon file:_files' \
   '(--iconoffset -j)'{-j,--iconoffset=-}'[specify offset of icon in icon file]:offset' \
   '(--name -n)'{-n,--name=-}'[specify name for link]:file:_files' \
+  '(--show -s)'{-s,--show=-}'[window to show: normal, minimized, maximized]:window state:(norm min max)' \
+  '(--workingdir -w)'{-w,--workingdir=-}'[set working directory (defaults to directory path of TARGET)]:working directory:_files -/' \
   '(--allusers -A)'{-A,--allusers}"[use 'All Users' instead of current user for -D,-P]" \
-  '(--desktop -D)'{-D,--desktop}"[create link relative to 'Desktop' directory]" \
-  '(--smprograms -P)'{-P,--smprograms}"[create link relative to Start Menu 'Programs' directory]" \
-  '(- 1)'{-h,--help}'[show help information]' \
+  '(--desktop -D --smprograms -P)'{-D,--desktop}"[create link relative to 'Desktop' directory]" \
+  '(--desktop -D --smprograms -P)'{-P,--smprograms}"[create link relative to Start Menu 'Programs' directory]" \
+  '(- 1)'{-h,--help}'[display help information]' \
   '(- 1)--usage[display brief usage message]' \
-  '(- 1)'{-v,--version}'[show version information]' \
+  '(- 1)'{-v,--version}'[display version information]' \
   '(- 1)--license[display licensing information]' \
   '1:target:_files'
diff --git a/Completion/Cygwin/Command/_mkzsh b/Completion/Cygwin/Command/_mkzsh
index 2a31e12bc..e1dc0fbc8 100644
--- a/Completion/Cygwin/Command/_mkzsh
+++ b/Completion/Cygwin/Command/_mkzsh
@@ -1,10 +1,7 @@
 #compdef mkzsh mkzsh.exe
-#Generated by Felix Rosencrantz
 
-local context state line
-typeset -A opt_args
-_arguments \
+_arguments -s -S \
   '(--allusers -A)'{-A,--allusers}'[creates item for All Users instead of just current user]' \
   '(--desktop -D)'{-D,--desktop}'[creates a Desktop icon for running /zsh.bat]' \
   '(--smprograms -P)'{-P,--smprograms}'[creates a Program menu item for running /zsh.bat]' \
-  '(--help -h)'{-h,--help}'[prints usage]'
+  '(--help -h)'{-h,--help}'[display help information]'
diff --git a/Completion/Cygwin/Command/_putclip b/Completion/Cygwin/Command/_putclip
index 484d054ee..bc7bd3bbe 100644
--- a/Completion/Cygwin/Command/_putclip
+++ b/Completion/Cygwin/Command/_putclip
@@ -1,10 +1,12 @@
 #compdef putclip putclip.exe
-#Generated by Felix Rosencrantz
 
-_arguments \
-  '(--dos -d)'{-d,--dos}'[clipboard text will have DOS line endings]' \
-  '(--unix -u)'{-u,--unix}'[clipboard text will have UNIX line endings]' \
-  '(-)'{'-?',--help}'[show this help message]' \
+# cygutils 1.3.2
+
+_arguments -s -S \
+  '(--dos -d --unix -u --no-conv -n)'{-d,--dos}'[clipboard text will have DOS line endings]' \
+  '(--dos -d --unix -u --no-conv -n)'{-u,--unix}'[clipboard text will have UNIX line endings]' \
+  '(--dos -d --unix -u --no-conv -n)'{-n,--no-conv}'[do not translate line endings]' \
+  '(-)'{-\?,--help}'[display help information]' \
   '(-)--usage[display brief usage message]' \
   '(-)--version[display version information]' \
   '(-)--license[display licensing information]'
diff --git a/Completion/Cygwin/Command/_readshortcut b/Completion/Cygwin/Command/_readshortcut
new file mode 100644
index 000000000..5611d5676
--- /dev/null
+++ b/Completion/Cygwin/Command/_readshortcut
@@ -0,0 +1,21 @@
+#compdef readshortcut readshortcut.exe
+
+# cygutils 1.3.2
+
+_arguments -s -S \
+  '(--fields -f)'{-f,--fields}'[show field names]' \
+  '(--unix -u --windows -w)'{-u,--unix}'[use Unix path format for display (default)]' \
+  '(--unix -u --windows -w)'{-w,--windows}'[use Windows path format for display ]' \
+  '(--target -t)'{-t,--target}'[display shortcut target]' \
+  '(--working -g)'{-g,--working}'[display shortcut working directory]' \
+  '(--args -r)'{-r,--args}'[display shortcut arguments]' \
+  '(--showcmd -s)'{-s,--showcmd}'[display shortcut "show" command value]' \
+  '(--icon -i)'{-i,--icon}'[display icon library location]' \
+  '(--offset -j)'{-j,--offset}'[display icon library offset]' \
+  '(--desc -d)'{-d,--desc}'[display shortcut description]' \
+  '(--all -a)'{-a,--all}'[display all information]' \
+  '(- 1)'{-h,--help}'[display help information]' \
+  '(- 1)--usage[display brief usage message]' \
+  '(- 1)'{-v,--version}'[display version information]' \
+  '(- 1)--license[display licensing information]' \
+  '1:shortcut:_files -g "*.lnk(-.)"'
diff --git a/Completion/Cygwin/Command/_setfacl b/Completion/Cygwin/Command/_setfacl
new file mode 100644
index 000000000..c87a1d017
--- /dev/null
+++ b/Completion/Cygwin/Command/_setfacl
@@ -0,0 +1,13 @@
+#compdef setfacl setfacl.exe
+
+# cygwin 1.5.25
+
+_arguments -s -S \
+  '(-d, --delete)'{-d,--delete}'[delete one or more specified ACL entries]:ACL entry:' \
+  '(-f, --file)'{-f,--file}'[set ACL entries for FILE to ACL entries read from a ACL_FILE]:ACL file:_files' \
+  '(-m, --modify)'{-m,--modify}'[modify one or more specified ACL entries]:ACL entry:' \
+  '(-r, --replace)'{-r,--replace}'[replace mask entry with maximum permissions needed for the file group class]' \
+  '(-s, --substitute)'{-s,--substitute}'[substitute specified ACL entries for the \[ACL of FILE\]]:ACL entry:' \
+  '(- *)'{-h,--help}'[output usage information and exit]' \
+  '(- *)'{-v,--version}'[output version information and exit]' \
+  '*: :_files'