about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-08-28 10:36:00 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-08-28 10:36:00 +0000
commit3f52f95978987d51b4f8f548c7cccc5cae7d64f5 (patch)
treec74042673ecf0f64257d4230b17226ef40e58b42
parent2270746356368eb20676bbfb26c82c2a06e694ec (diff)
downloadzsh-3f52f95978987d51b4f8f548c7cccc5cae7d64f5.tar.gz
zsh-3f52f95978987d51b4f8f548c7cccc5cae7d64f5.tar.xz
zsh-3f52f95978987d51b4f8f548c7cccc5cae7d64f5.zip
merge completion function changes back from 4.1
-rw-r--r--ChangeLog42
-rw-r--r--Completion/Cygwin/Command/.distfiles6
-rw-r--r--Completion/Cygwin/Command/_cygcheck14
-rw-r--r--Completion/Cygwin/Command/_cygpath26
-rw-r--r--Completion/Cygwin/Command/_cygrunsrv25
-rw-r--r--Completion/Cygwin/Command/_cygserver13
-rw-r--r--Completion/Cygwin/Command/_cygstart30
-rw-r--r--Completion/Cygwin/Command/_dumper13
-rw-r--r--Completion/Cygwin/Command/_getclip10
-rw-r--r--Completion/Cygwin/Command/_getfacl10
-rw-r--r--Completion/Cygwin/Command/_mkshortcut15
-rw-r--r--Completion/Cygwin/Command/_mkzsh10
-rw-r--r--Completion/Cygwin/Command/_pscp18
-rw-r--r--Completion/Cygwin/Command/_putclip10
-rw-r--r--Completion/Unix/Command/.distfiles2
-rw-r--r--Completion/Unix/Command/_ecasound4
-rw-r--r--Completion/Unix/Command/_screen81
-rw-r--r--Src/Zle/complete.mdd2
18 files changed, 327 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 0e1475b48..459de67ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -54,6 +54,12 @@
 2003-07-31  Oliver Kiddle  <opk@zsh.org>
 
 	* 18914: Completion/Base/Utility/_nothing,
+	Completion/Cygwin/Command/_cygpath,
+	Completion/Cygwin/Command/_cygrunsrv,
+	Completion/Cygwin/Command/_getclip,
+	Completion/Cygwin/Command/_getfacl,
+	Completion/Cygwin/Command/_mkshortcut,
+	Completion/Cygwin/Command/_pscp, Completion/Cygwin/Command/_putclip,
 	Completion/Debian/Command/_auto-apt, Completion/Debian/Command/_bug,
 	Completion/Debian/Command/_debchange,
 	Completion/Debian/Command/_debfoster,
@@ -120,6 +126,14 @@
 
 	* 18863: Completion/Unix/Command/_aap: new completion for aap
 
+2003-07-16  Doug Kearns  <djkea2@mugca.its.monash.edu.au>
+
+	* unposted: Completion/Debian/Command/_bug,
+	Completion/Debian/Command/_debsign, Completion/Linux/Command/_pkgtool,
+	Completion/Unix/Command/_cvs, Completion/Unix/Command/_ecasound,
+	Completion/Unix/Command/_mysql_utils, Completion/Unix/Command/_screen:
+	remove initial capitalisation from option descriptions
+
 2003-07-09  Oliver Kiddle  <opk@zsh.org>
 
 	* 18841: Completion/Base/Completer/_prefix: work around problem
@@ -282,12 +296,22 @@
 	* 18462: Completion/Unix/Command/_sh: complete files in addition
 	to commands
 
+2003-04-22  Felix Rosencrantz <f_rosencrantz@yahoo.com>
+
+	* 18459: Completion/Unix/Command/_screen: fix up suggestions from
+	Oliver.
+
 2003-04-22  Oliver Kiddle  <opk@zsh.org>
 
 	* unposted: Completion/Unix/Command/_imagemagick: correct return codes
 	
 	* 18458: Completion/Unix/Command/_renice: new completion for renice
 
+2003-04-19  Felix Rosencrantz <f_rosencrantz@yahoo.com>
+
+	* 18455: Completion/Unix/Command/_screen,
+	Completion/Unix/Command/.distfiles: Completion function for screen.
+
 2003-04-18  Oliver Kiddle  <opk@zsh.org>
 
 	* unposted: Completion/Zsh/Context/_tilde: fix bug where 0 was
@@ -301,6 +325,24 @@
 
 	* 18443: Completion/X/Command/_dcop: new completion for dcop
 
+2003-04-08  Felix Rosencrantz <f_rosencrantz@yahoo.com>
+
+	* 18440: Src/Zle/complete.mdd: Add the cygwin completion functions
+	to the completion module.
+
+2003-04-07  Felix Rosencrantz <f_rosencrantz@yahoo.com>
+
+	* 18439: Completion/Cygwin/.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/_pscp, Completion/Cygwin/Command/_putclip:
+	cygwin completion functions.
+
 2003-03-28  Wayne Davison  <wayned@users.sourceforge.net>
 
 	* 18402: Src/builtin.c: Prevent "print -m" from crashing (it now
diff --git a/Completion/Cygwin/Command/.distfiles b/Completion/Cygwin/Command/.distfiles
new file mode 100644
index 000000000..32de38edc
--- /dev/null
+++ b/Completion/Cygwin/Command/.distfiles
@@ -0,0 +1,6 @@
+DISTFILES_SRC='
+.distfiles
+_cygcheck    _cygpath     _cygrunsrv   _cygserver   _cygstart
+_dumper      _getclip     _getfacl     _mkshortcut  _mkzsh
+_pscp        _putclip     
+'
diff --git a/Completion/Cygwin/Command/_cygcheck b/Completion/Cygwin/Command/_cygcheck
new file mode 100644
index 000000000..d0a78a248
--- /dev/null
+++ b/Completion/Cygwin/Command/_cygcheck
@@ -0,0 +1,14 @@
+#compdef cygcheck cygcheck.exe
+#Generated by Felix Rosencrantz
+
+local context state line
+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'
diff --git a/Completion/Cygwin/Command/_cygpath b/Completion/Cygwin/Command/_cygpath
new file mode 100644
index 000000000..0ecfccc2e
--- /dev/null
+++ b/Completion/Cygwin/Command/_cygpath
@@ -0,0 +1,26 @@
+#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)' \
+  '(--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)]' \
+  "(--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' \
+  '(--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
diff --git a/Completion/Cygwin/Command/_cygrunsrv b/Completion/Cygwin/Command/_cygrunsrv
new file mode 100644
index 000000000..725ac46a0
--- /dev/null
+++ b/Completion/Cygwin/Command/_cygrunsrv
@@ -0,0 +1,25 @@
+#compdef cygrunsrv cygrunsrv.exe
+
+_arguments  \
+  '(-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' \
+  '(-p --path)'{-p,--path}'[specify application path which is run as a service]:application path' \
+  '(-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' \
+  '(-d --disp)'{-d,--disp}'[specify display name for service]:display name' \
+  '(-f --desc)'{-f,--desc}'[specify service description]:description' \
+  '(-t --type)'{-t,--type}'[specify service start type]:start type:(auto manual)' \
+  '(-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' \
+  '(-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]' \
+  '(- *)'{-h,--help}'[print help information]' \
+  '(- *)'{-v,--version}'[print version information]' \
+  '*: :_files'
diff --git a/Completion/Cygwin/Command/_cygserver b/Completion/Cygwin/Command/_cygserver
new file mode 100644
index 000000000..413333abf
--- /dev/null
+++ b/Completion/Cygwin/Command/_cygserver
@@ -0,0 +1,13 @@
+#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]' \
+  '(--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'
+            
diff --git a/Completion/Cygwin/Command/_cygstart b/Completion/Cygwin/Command/_cygstart
new file mode 100644
index 000000000..5cc54a6e4
--- /dev/null
+++ b/Completion/Cygwin/Command/_cygstart
@@ -0,0 +1,30 @@
+#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)' \
+  '(--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' \
+  '--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]' \
+  '--restore[Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window]' \
+  '--show[Activates the window and displays it in its current size and position]' \
+  '--showmaximized[Activates the window and displays it as a maximized window]' \
+  '--showminimized[Activates the window and displays it as a minimized window]' \
+  '--showminnoactive[Displays the window as a minimized window. The active window remains active]' \
+  '--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]' \
+  '--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'
diff --git a/Completion/Cygwin/Command/_dumper b/Completion/Cygwin/Command/_dumper
new file mode 100644
index 000000000..bcee4042b
--- /dev/null
+++ b/Completion/Cygwin/Command/_dumper
@@ -0,0 +1,13 @@
+#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' \
+  '*: :_pids'
+            
diff --git a/Completion/Cygwin/Command/_getclip b/Completion/Cygwin/Command/_getclip
new file mode 100644
index 000000000..c27e2dfdd
--- /dev/null
+++ b/Completion/Cygwin/Command/_getclip
@@ -0,0 +1,10 @@
+#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]' \
+  '(-)--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
new file mode 100644
index 000000000..8e794131f
--- /dev/null
+++ b/Completion/Cygwin/Command/_getfacl
@@ -0,0 +1,10 @@
+#compdef getfacl getfacl.exe
+#Generated by Felix Rosencrantz
+
+_arguments  \
+  '(--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]' \
+  '(- *)'{-h,--help}'[display help information]' \
+  '(- *)'{-v,--version}'[display version information]' \
+  '*: :_files'
diff --git a/Completion/Cygwin/Command/_mkshortcut b/Completion/Cygwin/Command/_mkshortcut
new file mode 100644
index 000000000..8718fa146
--- /dev/null
+++ b/Completion/Cygwin/Command/_mkshortcut
@@ -0,0 +1,15 @@
+#compdef mkshortcut mkshortcut.exe
+
+_arguments  \
+  '(--arguments -a)'{-a,--arguments=-}'[use specified arguments]:arguments' \
+  '(--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' \
+  '(--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]' \
+  '(- 1)--usage[display brief usage message]' \
+  '(- 1)'{-v,--version}'[show version information]' \
+  '(- 1)--license[display licensing information]' \
+  '1:target:_files'
diff --git a/Completion/Cygwin/Command/_mkzsh b/Completion/Cygwin/Command/_mkzsh
new file mode 100644
index 000000000..2a31e12bc
--- /dev/null
+++ b/Completion/Cygwin/Command/_mkzsh
@@ -0,0 +1,10 @@
+#compdef mkzsh mkzsh.exe
+#Generated by Felix Rosencrantz
+
+local context state line
+typeset -A opt_args
+_arguments \
+  '(--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]'
diff --git a/Completion/Cygwin/Command/_pscp b/Completion/Cygwin/Command/_pscp
new file mode 100644
index 000000000..c2b8dd979
--- /dev/null
+++ b/Completion/Cygwin/Command/_pscp
@@ -0,0 +1,18 @@
+#compdef pscp pscp.exe
+#Generated by Felix Rosencrantz
+
+_arguments \
+  '-p[preserve file attributes]' \
+  "-q[quiet, don't show statistics]" \
+  '-r[copy directories recursively]' \
+  '-v[show verbose messages]' \
+  '-load[load settings from saved session]:session' \
+  '-P[connect to specified port]:port:_ports' \
+  '-l[connect with specified username]:username:_users' \
+  '-pw[login with specified password]:password' \
+  '(-1 -2)'{-1,-2}'[force use of particular SSH protocol version]' \
+  '-C[enable compression]' \
+  '-i[specify private key file for authentication]:private key file:_files' \
+  '-batch[disable all interactive prompts]' \
+  '-unsafe[allow server-side wildcards (DANGEROUS)]' \
+  '*: :_files'
diff --git a/Completion/Cygwin/Command/_putclip b/Completion/Cygwin/Command/_putclip
new file mode 100644
index 000000000..484d054ee
--- /dev/null
+++ b/Completion/Cygwin/Command/_putclip
@@ -0,0 +1,10 @@
+#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]' \
+  '(-)--usage[display brief usage message]' \
+  '(-)--version[display version information]' \
+  '(-)--license[display licensing information]'
diff --git a/Completion/Unix/Command/.distfiles b/Completion/Unix/Command/.distfiles
index a14dd6ffd..fa947708f 100644
--- a/Completion/Unix/Command/.distfiles
+++ b/Completion/Unix/Command/.distfiles
@@ -20,5 +20,5 @@ _chkconfig    _cdcd         _irssi	  _sccs         _texinfo      _ant
 _global                     _figlet       _ifconfig     _last         _larch
 _lsof         _mt           _xmlsoft      _elinks       _tidy         _python
 _antiword     _renice       _sablotron    _cdrecord     _aap          _du
-_rar          _vorbis       _subversion
+_rar          _vorbis       _subversion   _screen
 '
diff --git a/Completion/Unix/Command/_ecasound b/Completion/Unix/Command/_ecasound
index cb6b724a0..67b9c363a 100644
--- a/Completion/Unix/Command/_ecasound
+++ b/Completion/Unix/Command/_ecasound
@@ -12,10 +12,10 @@ _arguments \
   '(-)--version[show version information]' \
   '-n\:-[set the name of chainsetup]:chainsetup name' \
   '-s\:-[create a new chainsetup from file]:chainsetup file:_files' \
-  '-sr\:-[set internal sampling rate]:Internal sampling rate:(8000 11025 22050 44100 48000)' \
+  '-sr\:-[set internal sampling rate]:internal sampling rate:(8000 11025 22050 44100 48000)' \
   '*-a\:-[select active signal chains]:chain name' \
   '-b\:-[set the size of buffer in samples]:buffer size:->b' \
-  '-m\:-[force use of specified mix mode]:Mix mode:((auto\:Automatic simple\:Only\ one\ input/cain/output normal\:Normal\ single-threaded\ mode))' \
+  '-m\:-[force use of specified mix mode]:mix mode:((auto\:Automatic simple\:Only\ one\ input/cain/output normal\:Normal\ single-threaded\ mode))' \
   '-r[use realtime scheduling policy (SCHED_FIFO)]' \
   '-r\:-[use realtime scheduling policy (SCHED_FIFO)]:sched_priority' \
   '-x[truncate outputs]' \
diff --git a/Completion/Unix/Command/_screen b/Completion/Unix/Command/_screen
new file mode 100644
index 000000000..89ddc9a96
--- /dev/null
+++ b/Completion/Unix/Command/_screen
@@ -0,0 +1,81 @@
+#compdef screen 
+#Generated by Felix Rosencrantz
+
+local context state line scr_cmds
+typeset -A opt_args
+scr_cmds=(
+  acladd	aclchg		acldel		aclgrp		aclumask
+  activity	addacl		allpartial	at		attrcolor
+  autodetach	autonuke	backtick	bce		bell_msg
+  bind		bindkey		break		breaktype	bufferfile
+  c1		caption		charset		chdir		clear
+  colon		command		compacthist	console		copy
+  copy_reg	crlf		debug		defautonuke	defbce
+  defbreaktype	defc1		defcharset	defencoding	defescape
+  defflow	defgr		defhstatus	defkanji	deflog
+  deflogin	defmode		defmonitor	defobuflimit	defscrollback
+  defshell	defsilence	defslowpaste	defutf8		defwrap
+  defwritelock	defzombie	detach		digraph		dinfo
+  displays	dumptermcap	echo		encoding	escape
+  eval		exec		fit		flow		focus
+  gr		hardcopy	hardcopy_append	hardcopydir	hardstatus
+  height	help		history		hstatus		ignorecase
+  info		ins_reg		kill		lastmsg		license
+  lockscreen	log		logfile		login		logtstamp
+  mapdefault	mapnotnext	maptimeout	markkeys	maxwin
+  meta		monitor		msgminwait	msgwait		multiuser
+  nethack	next		nonblock	number		obuflimit
+  only		other		partial		password	paste
+  pastefont	pow_break	pow_detach	pow_detach_msg	prev
+  printcmd	process		quit		readbuf		readreg
+  redisplay	register	remove		removebuf	reset
+  resize	screen		scrollback	select		sessionname
+  setenv	setsid		shell		shelltitle	silence
+  silencewait	sleep		slowpaste	sorendition	source
+  split		startup_message	stuff		su		term
+  termcap	termcapinfo	terminfo	time		title
+  unsetenv	utf8		vbell		vbell_msg	vbellwait
+  verbose	version		wall		width		windowlist
+  windows	wrap		writebuf	writelock	xoff
+  xon		zombie
+)
+  
+_arguments \
+  "-a[force all capabilities into each window's termcap]" \
+  '-A[adapt all windows to the new display width & height]' \
+  "-c[read configuration file instead of '.screenrc']:config file:_files -/" \
+  '-d[detach the elsewhere running screen (with -r: reattach here)]:session name:->sessionname' \
+  '-dmS[start as daemon, screen session in detached mode]' \
+  '-D[detach and logout remote (with -r: reattach here)]' \
+  '-e[change command characters]:command characters:' \
+  '-f-[set flow control]:flow control:((n\:flow\ control\ off a\:Flow\ control\ auto \:Flow\ control\ on))' \
+  '-h[set the size of the scrollback history buffer]:buffer size:' \
+  '-i[interrupt output sooner when flow control is on]' \
+  '(-l)-ln[login mode off (do not update /var/run/utmp)]' \
+  '(-ln)-l[login mode on (update /var/run/utmp)]' \
+  '(-)'{-ls,-list}'[list sessions/socket directory]' \
+  "-L[terminal's last character can be safely updated]" \
+  '-m[ignore $STY variable, do create a new screen session]' \
+  '-O[choose optimal output rather than exact vt100 emulation]' \
+  '-p[preselect the named window]:window number or name:(( \=\:windowlist -\:blank\ window \:window\ number))' \
+  '-q[quiet startup. exits with non-zero return code if unsuccessful]' \
+  '-r[reattach to a detached screen process]:session name:->sessionname' \
+  '-R[reattach if possible, otherwise start a new session]' \
+  '-s[shell to execute rather than $SHELL]:shell name: _command_names -e' \
+  '-S[name this session <pid>.sockname instead of <pid>.<tty>.<host>]:session name:' \
+  "-t[set title(window's name)]:title:" \
+  '-T[use term as $TERM for windows, rather than "screen"]:terminal type:_terminals' \
+  '-U[tell screen to use UTF-8 encoding]' \
+  '(-)-v[print screen version]' \
+  '(-)-wipe[do nothing, clean up SockDir]' \
+  '-x[attach to a not detached screen. (Multi display mode).]' \
+  '-X[execute <cmd> as a screen command in the specified session.]:screencmd:(${scr_cmds[@]})'
+
+case $state in
+  sessionname)
+  # Complete session names
+  local screendir
+  screendir=( ${${${(M)${(f)"$(_call_program screen-session $words[1] -ls)"}:#*Socket*}%.}##* } )
+  _wanted screen-session expl 'screen process' _path_files -W screendir
+  ;;
+esac
diff --git a/Src/Zle/complete.mdd b/Src/Zle/complete.mdd
index ea9d5f5f6..e911162ba 100644
--- a/Src/Zle/complete.mdd
+++ b/Src/Zle/complete.mdd
@@ -1,7 +1,7 @@
 name=zsh/complete
 link=either
 load=yes
-functions='Completion/*comp* Completion/AIX/*/* Completion/BSD/*/* Completion/Base/*/* Completion/Debian/*/* Completion/Linux/*/* Completion/Mandrake/*/* Completion/Redhat/*/* Completion/Unix/*/* Completion/X/*/* Completion/Zsh/*/*'
+functions='Completion/*comp* Completion/AIX/*/* Completion/BSD/*/* Completion/Base/*/* Completion/Cygwin/*/* Completion/Debian/*/* Completion/Linux/*/* Completion/Mandrake/*/* Completion/Redhat/*/* Completion/Unix/*/* Completion/X/*/* Completion/Zsh/*/*'
 
 moddeps="zsh/zle"