xref: /dragonfly/contrib/tcsh-6/complete.tcsh (revision d6ab524c)
17d8fb588SMatthias Schmidt#
27d8fb588SMatthias Schmidt# example file using the new completion code
37d8fb588SMatthias Schmidt#
47d8fb588SMatthias Schmidt# Debian GNU/Linux
57d8fb588SMatthias Schmidt# /usr/share/doc/tcsh/examples/complete.gz
67d8fb588SMatthias Schmidt#
77d8fb588SMatthias Schmidt# This file may be read from user's ~/.cshrc or ~/.tcshrc file by
87d8fb588SMatthias Schmidt# decompressing it into the home directory as ~/.complete and
97d8fb588SMatthias Schmidt# then adding the line "source ~/.complete" and maybe defining
107d8fb588SMatthias Schmidt# some of the shell variables described below.
117d8fb588SMatthias Schmidt#
127d8fb588SMatthias Schmidt# Added two Debian-specific completions: dpkg and dpkg-deb (who
137d8fb588SMatthias Schmidt# wrote them?). Changed completions of several commands. The ones
147d8fb588SMatthias Schmidt# are evaluated if the `traditional_complete' shell variable is
157d8fb588SMatthias Schmidt# defined.
167d8fb588SMatthias Schmidt#
177d8fb588SMatthias Schmidt# Debian enhancements by Vadim Vygonets <vadik@cs.huji.ac.il>.
187d8fb588SMatthias Schmidt# Bugfixes and apt completions by Miklos Quartus <miklos.quartus@nokia.com>.
197d8fb588SMatthias Schmidt# Cleanup by Martin A. Godisch <martin@godisch.de>.
207d8fb588SMatthias Schmidt
217d8fb588SMatthias Schmidtonintr -
227d8fb588SMatthias Schmidtif ( ! $?prompt ) goto end
237d8fb588SMatthias Schmidt
247d8fb588SMatthias Schmidtif ( $?tcsh ) then
257d8fb588SMatthias Schmidt  if ( $tcsh != 1 ) then
2660962bbcSJohn Marino    set rev=$tcsh:r:r
2760962bbcSJohn Marino    set rel=$tcsh:r:e
2860962bbcSJohn Marino    if ( $rev > 6 || ( $rev > 5 && $rel > 1 ) ) then
2960962bbcSJohn Marino      set _has_complete=1
307d8fb588SMatthias Schmidt    endif
317d8fb588SMatthias Schmidt  endif
3260962bbcSJohn Marino  unset rev rel
337d8fb588SMatthias Schmidtendif
347d8fb588SMatthias Schmidt
3560962bbcSJohn Marinoif ( ! $?_has_complete ) goto end
3660962bbcSJohn Marino
3760962bbcSJohn Marinoif ( ! $?noglob ) set noglob _unset_noglob
3860962bbcSJohn Marino
3960962bbcSJohn Marino# Old TCSH versions don't define OSTYPE.
4060962bbcSJohn Marino# Use a close approximation instead.
4160962bbcSJohn Marino
4260962bbcSJohn Marinoif ( ! $?OSTYPE ) then
4360962bbcSJohn Marino  setenv OSTYPE `echo "$HOSTTYPE" | sed -e 's/^(i[3456]86|(amd|x86_)64)-//'`
4460962bbcSJohn Marinoendif
4560962bbcSJohn Marino
467d8fb588SMatthias Schmidtif ( ! $?hosts ) set hosts
4760962bbcSJohn Marino
4860962bbcSJohn Marinoforeach f ( "$HOME/."{,r,ssh/known_}hosts* \
4960962bbcSJohn Marino  /usr/local/etc/csh.hosts /etc/hosts.equiv )
5057e3f2b5SSimon 'corecode' Schubert  if ( -r "$f" ) then
5160962bbcSJohn Marino    set hosts=($hosts `sed \
5260962bbcSJohn Marino      -e 's/#.*//' \
5360962bbcSJohn Marino      -e '/^[+-]@/d' \
5460962bbcSJohn Marino      -e 's/^[-+]//' \
5560962bbcSJohn Marino      -e 's/[[:space:]].*//' \
5660962bbcSJohn Marino      -e 's/,/\n/g' "$f" \
5760962bbcSJohn Marino      | sed -e '/^[.:[:xdigit:][:space:]]*$/d'`)
587d8fb588SMatthias Schmidt  endif
597d8fb588SMatthias Schmidtend
607d8fb588SMatthias Schmidtunset f
6160962bbcSJohn Marino
6260962bbcSJohn Marinoif ( -r "$HOME/.netrc" ) then
6360962bbcSJohn Marino  set hosts=($hosts `awk '$1 == "machine" { print $2 }' "$HOME/.netrc"`)
6460962bbcSJohn Marinoendif
6560962bbcSJohn Marino
6660962bbcSJohn Marinoset hosts=(`echo $hosts | tr ' ' '\012' | sort -u`)
6760962bbcSJohn Marino
6860962bbcSJohn Marinoif ( ! $#hosts ) then
6960962bbcSJohn Marino  # This is just a hint for the user.
7060962bbcSJohn Marino  set hosts=(ftp.funet.fi ftp.gnu.org ftp.uu.net)
717d8fb588SMatthias Schmidtendif
727d8fb588SMatthias Schmidt
737d8fb588SMatthias Schmidtcomplete ywho		n/*/\$hosts/	# argument from list in $hosts
747d8fb588SMatthias Schmidtcomplete rsh		p/1/\$hosts/ c/-/"(l n)"/   n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/
757d8fb588SMatthias Schmidtcomplete ssh		p/1/\$hosts/ c/-/"(l n)"/   n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/
767d8fb588SMatthias Schmidtcomplete xrsh		p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/
777d8fb588SMatthias Schmidtcomplete rlogin 	p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/
787d8fb588SMatthias Schmidtcomplete telnet 	p/1/\$hosts/ p/2/x:'<port>'/ n/*/n/
797d8fb588SMatthias Schmidt
807d8fb588SMatthias Schmidtcomplete cd  		p/1/d/		# Directories only
817d8fb588SMatthias Schmidtcomplete chdir 		p/1/d/
827d8fb588SMatthias Schmidtcomplete pushd 		p/1/d/
837d8fb588SMatthias Schmidtcomplete popd 		p/1/d/
847d8fb588SMatthias Schmidtcomplete pu 		p/1/d/
857d8fb588SMatthias Schmidtcomplete po 		p/1/d/
867d8fb588SMatthias Schmidtcomplete complete 	p/1/X/		# Completions only
877d8fb588SMatthias Schmidtcomplete uncomplete	n/*/X/
887d8fb588SMatthias Schmidtcomplete exec 		p/1/c/		# Commands only
897d8fb588SMatthias Schmidtcomplete trace 		p/1/c/
907d8fb588SMatthias Schmidtcomplete strace 	p/1/c/
917d8fb588SMatthias Schmidtcomplete which		n/*/c/
927d8fb588SMatthias Schmidtcomplete where		n/*/c/
937d8fb588SMatthias Schmidtcomplete skill 		p/1/c/
947d8fb588SMatthias Schmidtcomplete dde		p/1/c/
957d8fb588SMatthias Schmidtcomplete adb		c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/
967d8fb588SMatthias Schmidtcomplete sdb		p/1/c/
977d8fb588SMatthias Schmidtcomplete dbx		c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/
987d8fb588SMatthias Schmidtcomplete xdb		p/1/c/
997d8fb588SMatthias Schmidtcomplete gdb		n/-d/d/ n/*/c/
1007d8fb588SMatthias Schmidtcomplete ups		p/1/c/
1017d8fb588SMatthias Schmidtcomplete set		'c/*=/f/' 'p/1/s/=' 'n/=/f/'
1027d8fb588SMatthias Schmidtcomplete unset		n/*/s/
1037d8fb588SMatthias Schmidtcomplete alias 		p/1/a/		# only aliases are valid
1047d8fb588SMatthias Schmidtcomplete unalias	n/*/a/
10560962bbcSJohn Marinocomplete xdvi 		n/*/f:*.dvi/
1067d8fb588SMatthias Schmidtcomplete dvips 		n/*/f:*.dvi/
10760962bbcSJohn Marinocomplete tex	 	n/*/f:*.{tex,texi}/
1087d8fb588SMatthias Schmidtcomplete latex	 	n/*/f:*.{tex,ltx}/
10960962bbcSJohn Marino
11060962bbcSJohn Marinocomplete su \
11160962bbcSJohn Marino  c/--/"(login fast preserve-environment command shell help version)"/ \
11260962bbcSJohn Marino  c/-/"(f l m p c s -)"/ \
1137d8fb588SMatthias Schmidt  n/{-c,--command}/c/ \
11460962bbcSJohn Marino  n@{-s,--shell}@'`cat /etc/shells`'@ \
11560962bbcSJohn Marino  n/*/u/
11660962bbcSJohn Marinocomplete cc \
11760962bbcSJohn Marino  c/-[IL]/d/ \
1187d8fb588SMatthias Schmidt  c@-l@'`\ls -1 /usr/lib/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \
1197d8fb588SMatthias Schmidt  c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/
12060962bbcSJohn Marinocomplete acc \
12160962bbcSJohn Marino  c/-[IL]/d/ \
1227d8fb588SMatthias Schmidt  c@-l@'`\ls -1 /usr/lang/SC1.0/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \
1237d8fb588SMatthias Schmidt  c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/
12460962bbcSJohn Marinocomplete gcc \
12560962bbcSJohn Marino  c/-[IL]/d/ \
12660962bbcSJohn Marino  c/-f/"(caller-saves cse-follow-jumps delayed-branch elide-constructors \
12760962bbcSJohn Marino	expensive-optimizations float-store force-addr force-mem inline \
12860962bbcSJohn Marino	inline-functions keep-inline-functions memoize-lookups \
12960962bbcSJohn Marino	no-default-inline no-defer-pop no-function-cse omit-frame-pointer \
13060962bbcSJohn Marino	rerun-cse-after-loop schedule-insns schedule-insns2 strength-reduce \
13160962bbcSJohn Marino	thread-jumps unroll-all-loops unroll-loops syntax-only all-virtual \
13260962bbcSJohn Marino	cond-mismatch dollars-in-identifiers enum-int-equiv no-asm no-builtin \
13360962bbcSJohn Marino	no-strict-prototype signed-bitfields signed-char this-is-variable \
13460962bbcSJohn Marino	unsigned-bitfields unsigned-char writable-strings call-saved-reg \
13560962bbcSJohn Marino	call-used-reg fixed-reg no-common no-gnu-binutils nonnull-objects \
13660962bbcSJohn Marino	pcc-struct-return pic PIC shared-data short-enums short-double \
13760962bbcSJohn Marino	volatile)"/ \
13860962bbcSJohn Marino  c/-W/"(all aggregate-return cast-align cast-qual comment conversion \
13960962bbcSJohn Marino	enum-clash error format id-clash-len implicit missing-prototypes \
14060962bbcSJohn Marino	no-parentheses pointer-arith return-type shadow strict-prototypes \
14160962bbcSJohn Marino	switch uninitialized unused write-strings)"/ \
14260962bbcSJohn Marino  c/-m/"(68000 68020 68881 bitfield fpa nobitfield rtd short c68000 c68020 \
14360962bbcSJohn Marino	soft-float g gnu unix fpu no-epilogue)"/ \
1447d8fb588SMatthias Schmidt  c/-d/"(D M N)"/ \
14560962bbcSJohn Marino  c/-/"(f W vspec v vpath ansi traditional traditional-cpp trigraphs pedantic \
14660962bbcSJohn Marino	x o l c g L I D U O O2 C E H B b V M MD MM i dynamic nodtdlib static \
14760962bbcSJohn Marino	nostdinc undef)"/ \
1487d8fb588SMatthias Schmidt  c/-l/f:*.a/ \
1497d8fb588SMatthias Schmidt  n/*/f:*.{c,C,cc,o,a,s,i}/
1507d8fb588SMatthias Schmidtcomplete g++ 	n/*/f:*.{C,cc,o,s,i}/
1517d8fb588SMatthias Schmidtcomplete CC 	n/*/f:*.{C,cc,cpp,o,s,i}/
15260962bbcSJohn Marinocomplete rm \
15360962bbcSJohn Marino  c/--/"(directory force interactive verbose recursive help version)"/ \
15460962bbcSJohn Marino  c/-/"(d f i v r R -)"/ \
15560962bbcSJohn Marino  n/*/f:^*.{c,cc,C,h,in}/
15660962bbcSJohn Marino  # Protect precious files
1577d8fb588SMatthias Schmidtcomplete vi 	n/*/f:^*.[oa]/
15860962bbcSJohn Marinocomplete bindkey \
15960962bbcSJohn Marino  N/-a/b/ N/-c/c/ n/-[ascr]/'x:<key-sequence>'/ \
1607d8fb588SMatthias Schmidt  n/-[svedlr]/n/ c/-[vedl]/n/ c/-/"(a s k c v e d l r)"/ \
1617d8fb588SMatthias Schmidt  n/-k/"(left right up down)"/ p/2-/b/ \
1627d8fb588SMatthias Schmidt  p/1/'x:<key-sequence or option>'/
1637d8fb588SMatthias Schmidt
16460962bbcSJohn Marinocomplete find \
16560962bbcSJohn Marino  n/-fstype/"(nfs 4.2)"/ \
16660962bbcSJohn Marino  n/-name/f/ \
16760962bbcSJohn Marino  n/-type/"(c b d f p l s)"/ \
16860962bbcSJohn Marino  n/-user/u/ \
16960962bbcSJohn Marino  n/-group/g/ \
17060962bbcSJohn Marino  n/-exec/c/ \
17160962bbcSJohn Marino  n/-ok/c/ \
17260962bbcSJohn Marino  n/-cpio/f/ \
17360962bbcSJohn Marino  n/-ncpio/f/ \
17460962bbcSJohn Marino  n/-newer/f/ \
17560962bbcSJohn Marino  c/-/"(fstype name perm prune type user nouser group nogroup size inum \
17660962bbcSJohn Marino	atime mtime ctime exec ok print ls cpio ncpio newer xdev depth \
17760962bbcSJohn Marino	daystart follow maxdepth mindepth noleaf version anewer cnewer \
17860962bbcSJohn Marino	amin cmin mmin true false uid gid ilname iname ipath iregex links \
17960962bbcSJohn Marino	lname empty path regex used xtype fprint fprint0 fprintf print0 \
18060962bbcSJohn Marino	printf not a and o or)"/ \
1817d8fb588SMatthias Schmidt  n/*/d/
1827d8fb588SMatthias Schmidt
1837d8fb588SMatthias Schmidtcomplete -%*		c/%/j/			# fill in the jobs builtin
1847d8fb588SMatthias Schmidtcomplete {fg,bg,stop}	c/%/j/ p/1/"(%)"//
1857d8fb588SMatthias Schmidt
1867d8fb588SMatthias Schmidtcomplete limit		c/-/"(h)"/ n/*/l/
1877d8fb588SMatthias Schmidtcomplete unlimit	c/-/"(h)"/ n/*/l/
1887d8fb588SMatthias Schmidt
18960962bbcSJohn Marino#complete -co*	p/0/"(compress)"/	# make compress completion
19060962bbcSJohn Marino#					    # not ambiguous
19160962bbcSJohn Marino
1927d8fb588SMatthias Schmidt# "zcat" may be linked to "compress" or "gzip"
1937d8fb588SMatthias Schmidtif (-X zcat) then
1947d8fb588SMatthias Schmidt  zcat --version >& /dev/null
1957d8fb588SMatthias Schmidt  if ($status != 0) then
1967d8fb588SMatthias Schmidt    complete zcat	n/*/f:*.Z/
1977d8fb588SMatthias Schmidt  else
1987d8fb588SMatthias Schmidt    complete zcat	c/--/"(force help license quiet version)"/ \
19960962bbcSJohn Marino			c/-/"(f h L q V -)"/ \
20060962bbcSJohn Marino			n/*/f:*.{gz,Z,z,zip}/
2017d8fb588SMatthias Schmidt  endif
2027d8fb588SMatthias Schmidtendif
2037d8fb588SMatthias Schmidt
2047d8fb588SMatthias Schmidtcomplete finger	c/*@/\$hosts/ n/*/u/@
2057d8fb588SMatthias Schmidtcomplete ping	p/1/\$hosts/
2067d8fb588SMatthias Schmidtcomplete traceroute	p/1/\$hosts/
2077d8fb588SMatthias Schmidt
20860962bbcSJohn Marinocomplete {talk,ntalk,phone} \
20960962bbcSJohn Marino  p/1/'`users | tr " " "\012" | uniq`'/ \
2107d8fb588SMatthias Schmidt  n/*/\`who\ \|\ grep\ \$:1\ \|\ awk\ \'\{\ print\ \$2\ \}\'\`/
2117d8fb588SMatthias Schmidt
2127d8fb588SMatthias Schmidtcomplete ftp	c/-/"(d i g n v)"/ n/-/\$hosts/ p/1/\$hosts/ n/*/n/
2137d8fb588SMatthias Schmidt
2147d8fb588SMatthias Schmidt# this one is simple...
2157d8fb588SMatthias Schmidt#complete rcp c/*:/f/ C@[./\$~]*@f@ n/*/\$hosts/:
2167d8fb588SMatthias Schmidt# From Michael Schroeder <mlschroe@immd4.informatik.uni-erlangen.de>
2177d8fb588SMatthias Schmidt# This one will rsh to the file to fetch the list of files!
2187d8fb588SMatthias Schmidtcomplete rcp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");rsh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");rsh $q[1] ls -dp $q[2]\*`%' 'c%*@%$hosts%:' 'C@[./$~]*@f@'  'n/*/$hosts/:'
2197d8fb588SMatthias Schmidt
22060962bbcSJohn Marinocomplete dd \
22160962bbcSJohn Marino  c/--/"(help version)"/ c/[io]f=/f/ \
2227d8fb588SMatthias Schmidt  c/conv=*,/"(ascii ebcdic ibm block unblock \
2237d8fb588SMatthias Schmidt	      lcase notrunc ucase swab noerror sync)"/,\
2247d8fb588SMatthias Schmidt  c/conv=/"(ascii ebcdic ibm block unblock \
2257d8fb588SMatthias Schmidt	    lcase notrunc ucase swab noerror sync)"/,\
2267d8fb588SMatthias Schmidt  c/*=/x:'<number>'/ \
2277d8fb588SMatthias Schmidt  n/*/"(if of conv ibs obs bs cbs files skip file seek count)"/=
2287d8fb588SMatthias Schmidt
2297d8fb588SMatthias Schmidtcomplete nslookup   p/1/x:'<host>'/ p/2/\$hosts/
2307d8fb588SMatthias Schmidt
23160962bbcSJohn Marinocomplete ar \
23260962bbcSJohn Marino  c/[dmpqrtx]/"(c l o u v a b i)"/ \
23360962bbcSJohn Marino  p/1/"(d m p q r t x)"// \
23460962bbcSJohn Marino  p/2/f:*.a/ \
23560962bbcSJohn Marino  p/*/f:*.o/
2367d8fb588SMatthias Schmidt
2377d8fb588SMatthias Schmidt# these should be merged with the MH completion hacks below - jgotts
2387d8fb588SMatthias Schmidtcomplete {refile,sprev,snext,scan,pick,rmm,inc,folder,show} \
23957e3f2b5SSimon 'corecode' Schubert	    "c@+@F:$HOME/Mail/@"
2407d8fb588SMatthias Schmidt
2417d8fb588SMatthias Schmidt# these and interrupt handling from Jaap Vermeulen <jaap@sequent.com>
2427d8fb588SMatthias Schmidtcomplete {rexec,rxexec,rxterm,rmterm} \
24360962bbcSJohn Marino  'p/1/$hosts/' \
24460962bbcSJohn Marino  'c/-/(l L E)/' \
24560962bbcSJohn Marino  'n/-l/u/' \
24660962bbcSJohn Marino  'n/-L/f/' \
24760962bbcSJohn Marino  'n/-E/e/' \
24860962bbcSJohn Marino  'n/*/c/'
24960962bbcSJohn Marinocomplete kill \
25060962bbcSJohn Marino  'c/-/S/' \
25160962bbcSJohn Marino  'c/%/j/' \
2527d8fb588SMatthias Schmidt  'n/*/`ps -u $LOGNAME | awk '"'"'{print $1}'"'"'`/'
2537d8fb588SMatthias Schmidt
2547d8fb588SMatthias Schmidt# these from Marc Horowitz <marc@cam.ov.com>
25560962bbcSJohn Marinocomplete attach \
25660962bbcSJohn Marino  'n/-mountpoint/d/' \
25760962bbcSJohn Marino  'n/-m/d/' \
25860962bbcSJohn Marino  'n/-type/(afs nfs rvd ufs)/' \
25960962bbcSJohn Marino  'n/-t/(afs nfs rvd ufs)/' \
26060962bbcSJohn Marino  'n/-user/u/' \
26160962bbcSJohn Marino  'n/-U/u/' \
26260962bbcSJohn Marino  'c/-/(verbose quiet force printpath lookup debug map nomap remap zephyr \
26360962bbcSJohn Marino	nozephyr readonly write mountpoint noexplicit explicit type \
26460962bbcSJohn Marino	mountoptions nosetuid setuid override skipfsck lock user host)/' \
26560962bbcSJohn Marino  'n/-e/f/' \
26660962bbcSJohn Marino  'n/*/()/'
26760962bbcSJohn Marinocomplete hesinfo \
26860962bbcSJohn Marino  'p/1/u/' \
26960962bbcSJohn Marino  'p/2/(passwd group uid grplist pcap pobox cluster filsys sloc service)/'
2707d8fb588SMatthias Schmidt
2717d8fb588SMatthias Schmidtcomplete ./configure \
2727d8fb588SMatthias Schmidt  'c@--{prefix,exec-prefix,bindir,sbindir,libexecdir,datadir,sysconfdir,sharedstatedir,localstatedir,infodir,mandir,srcdir,x-includes,x-libraries}=*@x:<directory e.g. /usr/local>'@ \
2737d8fb588SMatthias Schmidt  'c/--cachefile=*/x:<filename>/' \
2747d8fb588SMatthias Schmidt  'c/--{enable,disable,with}-*/x:<feature>//' \
2757d8fb588SMatthias Schmidt  'c/--*=/x:<directory>//' \
27660962bbcSJohn Marino  'c/--/(prefix= exec-prefix= bindir= sbindir= libexecdir= datadir= \
27760962bbcSJohn Marino	sysconfdir= sharedstatedir= localstatedir= infodir= mandir= \
27860962bbcSJohn Marino	srcdir= x-includes= x-libraries= cachefile= enable- disable- \
27960962bbcSJohn Marino	with- help no-create quiet silent version verbose )//'
28060962bbcSJohn Marino
28160962bbcSJohn Marinocomplete gs \
28260962bbcSJohn Marino  'c/-sDEVICE=/(x11 cdjmono cdj550 epson eps9high epsonc dfaxhigh dfaxlow \
28360962bbcSJohn Marino		laserjet ljet4 sparc pbm pbmraw pgm pgmraw ppm ppmraw bit)/' \
2847d8fb588SMatthias Schmidt  'c/-sOutputFile=/f/' 'c/-s/(DEVICE OutputFile)/=' \
2857d8fb588SMatthias Schmidt  'c/-d/(NODISPLAY NOPLATFONTS NOPAUSE)/' 'n/*/f/'
2867d8fb588SMatthias Schmidtcomplete perl		'n/-S/c/'
28760962bbcSJohn Marinocomplete sccs \
28860962bbcSJohn Marino  p/1/"(admin cdc check clean comb deledit delget delta diffs edit enter \
28960962bbcSJohn Marino	fix get help info print prs prt rmdel sccsdiff tell unedit unget \
29060962bbcSJohn Marino	val what)"/
29160962bbcSJohn Marino
2927d8fb588SMatthias Schmidtcomplete printenv	'n/*/e/'
2937d8fb588SMatthias Schmidtcomplete setenv		'p/1/e/' 'c/*:/f/'
2947d8fb588SMatthias Schmidt
2957d8fb588SMatthias Schmidt# these and method of setting hosts from Kimmo Suominen <kim@tac.nyc.ny.us>
29660962bbcSJohn Marinoif ( -f "$HOME/.mh_profile" && -X folders ) then
2977d8fb588SMatthias Schmidt  if ( ! $?FOLDERS ) setenv FOLDERS "`folders -fast -recurse`"
2987d8fb588SMatthias Schmidt  if ( ! $?MHA )     setenv MHA     "`ali | sed -e '/^ /d' -e 's/:.*//'`"
2997d8fb588SMatthias Schmidt
3007d8fb588SMatthias Schmidt  set folders = ( $FOLDERS )
3017d8fb588SMatthias Schmidt  set mha = ( $MHA )
3027d8fb588SMatthias Schmidt
3037d8fb588SMatthias Schmidt  complete ali \
3047d8fb588SMatthias Schmidt    'c/-/(alias nolist list nonormalize normalize nouser user help)/' \
3057d8fb588SMatthias Schmidt    'n,-alias,f,'
3067d8fb588SMatthias Schmidt
3077d8fb588SMatthias Schmidt  complete anno \
3087d8fb588SMatthias Schmidt    'c/-/(component noinplace inplace nodate date text help)/' \
3097d8fb588SMatthias Schmidt    'c,+,$folders,'  \
31060962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3117d8fb588SMatthias Schmidt
3127d8fb588SMatthias Schmidt  complete burst \
3137d8fb588SMatthias Schmidt    'c/-/(noinplace inplace noquiet quiet noverbose verbose help)/' \
3147d8fb588SMatthias Schmidt    'c,+,$folders,'  \
31560962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3167d8fb588SMatthias Schmidt
3177d8fb588SMatthias Schmidt  complete comp \
3187d8fb588SMatthias Schmidt    'c/-/(draftfolder draftmessage nodraftfolder editor noedit file form nouse use whatnowproc nowhatnowproc help)/' \
3197d8fb588SMatthias Schmidt    'c,+,$folders,'  \
3207d8fb588SMatthias Schmidt    'n,-whatnowproc,c,'  \
3217d8fb588SMatthias Schmidt    'n,-file,f,'\
3227d8fb588SMatthias Schmidt    'n,-form,f,'\
32360962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3247d8fb588SMatthias Schmidt
3257d8fb588SMatthias Schmidt  complete dist \
3267d8fb588SMatthias Schmidt    'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit form noinplace inplace whatnowproc nowhatnowproc help)/' \
3277d8fb588SMatthias Schmidt    'c,+,$folders,'  \
3287d8fb588SMatthias Schmidt    'n,-whatnowproc,c,'  \
3297d8fb588SMatthias Schmidt    'n,-form,f,'\
33060962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3317d8fb588SMatthias Schmidt
3327d8fb588SMatthias Schmidt  complete folder \
3337d8fb588SMatthias Schmidt    'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \
3347d8fb588SMatthias Schmidt    'c,+,$folders,'  \
33560962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3367d8fb588SMatthias Schmidt
3377d8fb588SMatthias Schmidt  complete folders \
3387d8fb588SMatthias Schmidt    'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \
3397d8fb588SMatthias Schmidt    'c,+,$folders,'  \
34060962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3417d8fb588SMatthias Schmidt
3427d8fb588SMatthias Schmidt  complete forw \
3437d8fb588SMatthias Schmidt    'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit filter form noformat format noinplace inplace digest issue volume whatnowproc nowhatnowproc help)/' \
3447d8fb588SMatthias Schmidt    'c,+,$folders,'  \
3457d8fb588SMatthias Schmidt    'n,-whatnowproc,c,'  \
3467d8fb588SMatthias Schmidt    'n,-filter,f,'\
3477d8fb588SMatthias Schmidt    'n,-form,f,'\
34860962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3497d8fb588SMatthias Schmidt
3507d8fb588SMatthias Schmidt  complete inc \
3517d8fb588SMatthias Schmidt    'c/-/(audit file noaudit nochangecur changecur file form format nosilent silent notruncate truncate width help)/' \
3527d8fb588SMatthias Schmidt    'c,+,$folders,'  \
3537d8fb588SMatthias Schmidt    'n,-audit,f,'\
3547d8fb588SMatthias Schmidt    'n,-form,f,'
3557d8fb588SMatthias Schmidt
3567d8fb588SMatthias Schmidt  complete mark \
3577d8fb588SMatthias Schmidt    'c/-/(add delete list sequence nopublic public nozero zero help)/' \
3587d8fb588SMatthias Schmidt    'c,+,$folders,'  \
35960962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3607d8fb588SMatthias Schmidt
3617d8fb588SMatthias Schmidt  complete mhmail \
3627d8fb588SMatthias Schmidt    'c/-/(body cc from subject help)/' \
3637d8fb588SMatthias Schmidt    'n,-cc,$mha,'  \
3647d8fb588SMatthias Schmidt    'n,-from,$mha,'  \
3657d8fb588SMatthias Schmidt    'n/*/$mha/'
3667d8fb588SMatthias Schmidt
3677d8fb588SMatthias Schmidt  complete mhpath \
3687d8fb588SMatthias Schmidt    'c/-/(help)/' \
3697d8fb588SMatthias Schmidt    'c,+,$folders,'  \
37060962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3717d8fb588SMatthias Schmidt
3727d8fb588SMatthias Schmidt  complete msgchk \
3737d8fb588SMatthias Schmidt    'c/-/(nodate date nonotify notify help)/'
3747d8fb588SMatthias Schmidt
3757d8fb588SMatthias Schmidt  complete msh \
3767d8fb588SMatthias Schmidt    'c/-/(prompt noscan scan notopcur topcur help)/'
3777d8fb588SMatthias Schmidt
3787d8fb588SMatthias Schmidt  complete next \
3797d8fb588SMatthias Schmidt    'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \
3807d8fb588SMatthias Schmidt    'c,+,$folders,'  \
3817d8fb588SMatthias Schmidt    'n,-moreproc,c,'  \
3827d8fb588SMatthias Schmidt    'n,-showproc,c,'  \
3837d8fb588SMatthias Schmidt    'n,-form,f,'
3847d8fb588SMatthias Schmidt
3857d8fb588SMatthias Schmidt  complete packf \
3867d8fb588SMatthias Schmidt    'c/-/(file help)/' \
3877d8fb588SMatthias Schmidt    'c,+,$folders,'  \
38860962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3897d8fb588SMatthias Schmidt
3907d8fb588SMatthias Schmidt  complete pick \
3917d8fb588SMatthias Schmidt    'c/-/(and or not lbrace rbrace cc date from search subject to othercomponent after before datefield sequence nopublic public nozero zero nolist list help)/' \
3927d8fb588SMatthias Schmidt    'c,+,$folders,'  \
39360962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
3947d8fb588SMatthias Schmidt
3957d8fb588SMatthias Schmidt  complete prev \
3967d8fb588SMatthias Schmidt    'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \
3977d8fb588SMatthias Schmidt    'c,+,$folders,'  \
3987d8fb588SMatthias Schmidt    'n,-moreproc,c,'  \
3997d8fb588SMatthias Schmidt    'n,-showproc,c,'  \
4007d8fb588SMatthias Schmidt    'n,-form,f,'
4017d8fb588SMatthias Schmidt
4027d8fb588SMatthias Schmidt  complete prompter \
4037d8fb588SMatthias Schmidt    'c/-/(erase kill noprepend prepend norapid rapid nodoteof doteof help)/'
4047d8fb588SMatthias Schmidt
4057d8fb588SMatthias Schmidt  complete refile \
4067d8fb588SMatthias Schmidt    'c/-/(draft nolink link nopreserve preserve src file help)/' \
4077d8fb588SMatthias Schmidt    'c,+,$folders,'  \
4087d8fb588SMatthias Schmidt    'n,-file,f,'\
40960962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
4107d8fb588SMatthias Schmidt
4117d8fb588SMatthias Schmidt  complete rmf \
4127d8fb588SMatthias Schmidt    'c/-/(nointeractive interactive help)/' \
4137d8fb588SMatthias Schmidt    'c,+,$folders,'
4147d8fb588SMatthias Schmidt
4157d8fb588SMatthias Schmidt  complete rmm \
4167d8fb588SMatthias Schmidt    'c/-/(help)/' \
4177d8fb588SMatthias Schmidt    'c,+,$folders,'  \
41860962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
4197d8fb588SMatthias Schmidt
4207d8fb588SMatthias Schmidt  complete scan \
4217d8fb588SMatthias Schmidt    'c/-/(noclear clear form format noheader header width noreverse reverse file help)/' \
4227d8fb588SMatthias Schmidt    'c,+,$folders,'  \
4237d8fb588SMatthias Schmidt    'n,-form,f,'\
4247d8fb588SMatthias Schmidt    'n,-file,f,'\
42560962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
4267d8fb588SMatthias Schmidt
4277d8fb588SMatthias Schmidt  complete send \
4287d8fb588SMatthias Schmidt    'c/-/(alias draft draftfolder draftmessage nodraftfolder filter nofilter noformat format noforward forward nomsgid msgid nopush push noverbose verbose nowatch watch width help)/' \
4297d8fb588SMatthias Schmidt    'n,-alias,f,'\
4307d8fb588SMatthias Schmidt    'n,-filter,f,'
4317d8fb588SMatthias Schmidt
4327d8fb588SMatthias Schmidt  complete show \
4337d8fb588SMatthias Schmidt    'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \
4347d8fb588SMatthias Schmidt    'c,+,$folders,'  \
4357d8fb588SMatthias Schmidt    'n,-moreproc,c,'  \
4367d8fb588SMatthias Schmidt    'n,-showproc,c,'  \
4377d8fb588SMatthias Schmidt    'n,-form,f,'\
43860962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
4397d8fb588SMatthias Schmidt
4407d8fb588SMatthias Schmidt  complete sortm \
4417d8fb588SMatthias Schmidt    'c/-/(datefield textfield notextfield limit nolimit noverbose verbose help)/' \
4427d8fb588SMatthias Schmidt    'c,+,$folders,'  \
44360962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
4447d8fb588SMatthias Schmidt
4457d8fb588SMatthias Schmidt  complete vmh \
4467d8fb588SMatthias Schmidt    'c/-/(prompt vmhproc novmhproc help)/' \
4477d8fb588SMatthias Schmidt    'n,-vmhproc,c,'
4487d8fb588SMatthias Schmidt
4497d8fb588SMatthias Schmidt  complete whatnow \
4507d8fb588SMatthias Schmidt    'c/-/(draftfolder draftmessage nodraftfolder editor noedit prompt help)/'
4517d8fb588SMatthias Schmidt
4527d8fb588SMatthias Schmidt  complete whom \
4537d8fb588SMatthias Schmidt    'c/-/(alias nocheck check draft draftfolder draftmessage nodraftfolder help)/' \
4547d8fb588SMatthias Schmidt    'n,-alias,f,'
4557d8fb588SMatthias Schmidt
4567d8fb588SMatthias Schmidt  complete plum \
4577d8fb588SMatthias Schmidt    'c/-/()/' \
4587d8fb588SMatthias Schmidt    'c,+,$folders,'  \
45960962bbcSJohn Marino    'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,'
4607d8fb588SMatthias Schmidt
4617d8fb588SMatthias Schmidt  complete mail \
4627d8fb588SMatthias Schmidt    'c/-/()/' \
4637d8fb588SMatthias Schmidt    'n/*/$mha/'
4647d8fb588SMatthias Schmidt
4657d8fb588SMatthias Schmidtendif
4667d8fb588SMatthias Schmidt
4677d8fb588SMatthias Schmidt#from Dan Nicolaescu <dann@ics.uci.edu>
4687d8fb588SMatthias Schmidtif ( $?MODULESHOME ) then
46960962bbcSJohn Marino  alias Compl_module \
47060962bbcSJohn Marino    'find ${MODULEPATH:as/:/ /} -name .version -o -name .modulea\* -prune \
47160962bbcSJohn Marino    -o -print | sed `echo "-e s@${MODULEPATH:as%:%/\*@@g -e s@%}/\*@@g"`'
47260962bbcSJohn Marino  complete module \
47360962bbcSJohn Marino    'p%1%(add load unload switch display avail use unuse update purge list \
47460962bbcSJohn Marino	  clear help initadd initrm initswitch initlist initclear)%' \
4757d8fb588SMatthias Schmidt    'n%{unl*,sw*,inits*}%`echo "$LOADEDMODULES:as/:/ /"`%' \
4767d8fb588SMatthias Schmidt    'n%{lo*,di*,he*,inita*,initr*}%`eval Compl_module`%' \
47760962bbcSJohn Marino    'N%{sw*,initsw*}%`eval Compl_module`%' \
47860962bbcSJohn Marino    'C%-%(-append)%' \
47960962bbcSJohn Marino    'n%{use,unu*,av*}%d%' \
48060962bbcSJohn Marino    'n%-append%d%' \
4817d8fb588SMatthias Schmidt    'C%[^-]*%`eval Compl_module`%'
4827d8fb588SMatthias Schmidtendif
4837d8fb588SMatthias Schmidt
4847d8fb588SMatthias Schmidt# from George Cox
4857d8fb588SMatthias Schmidtcomplete acroread	'p/*/f:*.{pdf,PDF}/'
4867d8fb588SMatthias Schmidtcomplete apachectl	'c/*/(start stop restart fullstatus status graceful \
4877d8fb588SMatthias Schmidt			      configtest help)/'
4887d8fb588SMatthias Schmidtcomplete appletviewer	'p/*/f:*.class/'
4897d8fb588SMatthias Schmidtcomplete bison		'c/--/(debug defines file-prefix= fixed-output-files \
4907d8fb588SMatthias Schmidt				help name-prefix= no-lines no-parser output= \
4917d8fb588SMatthias Schmidt				token-table verbose version yacc)/' \
49260962bbcSJohn Marino			'c/-/(b d h k l n o p t v y V)/' \
49360962bbcSJohn Marino			'n/-b/f/' 'n/-o/f/' 'n/-p/f/'
4947d8fb588SMatthias Schmidtcomplete bzcat		c/--/"(help test quiet verbose license version)"/ \
4957d8fb588SMatthias Schmidt			c/-/"(h t L V -)"/ n/*/f:*.{bz2,tbz}/
4967d8fb588SMatthias Schmidtcomplete bunzip2	c/--/"(help keep force test stdout quiet verbose \
49760962bbcSJohn Marino				license version)"/ \
49860962bbcSJohn Marino			c/-/"(h k f t c q v L V -)"/ \
4997d8fb588SMatthias Schmidt			n/*/f:*.{bz2,tbz}/
5007d8fb588SMatthias Schmidtcomplete bzip2		c/--/"(help decompress compress keep force test \
5017d8fb588SMatthias Schmidt				stdout quiet verbose license version small)"/ \
5027d8fb588SMatthias Schmidt			c/-/"(h d z k f t c q v L V s 1 2 3 4 5 6 7 8 9 -)"/ \
5037d8fb588SMatthias Schmidt			n/{-d,--decompress}/f:*.{bz2,tbz}/ \
5047d8fb588SMatthias Schmidt			N/{-d,--decompress}/f:*.{bz2,tbz}/ n/*/f:^*.{bz2,tbz}/
5057d8fb588SMatthias Schmidtcomplete c++		'p/*/f:*.{c++,cxx,c,cc,C,cpp}/'
5067d8fb588SMatthias Schmidtcomplete co		'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@'
5077d8fb588SMatthias Schmidtcomplete crontab	'n/-u/u/'
5087d8fb588SMatthias Schmidtcomplete camcontrol	'p/1/(cmd debug defects devlist eject inquiry \
50960962bbcSJohn Marino			      modepage negotiate periphlist rescan reset \
51060962bbcSJohn Marino			      start stop tags tur)/'
5117d8fb588SMatthias Schmidtcomplete ctlinnd	'p/1/(addhist allow begin cancel changegroup \
51260962bbcSJohn Marino			      checkfile drop feedinfo flush flushlogs go \
51360962bbcSJohn Marino			      hangup logmode mode name newgroup param pause \
51460962bbcSJohn Marino			      readers refile reject reload renumber reserve \
51560962bbcSJohn Marino			      rmgroup send shutdown kill throttle trace \
51660962bbcSJohn Marino			      xabort xexec)/'
5177d8fb588SMatthias Schmidtcomplete cvs		'c/--/(help help-commands help-synonyms)/' \
51860962bbcSJohn Marino			'p/1/(add admin annotate checkout commit diff edit \
51960962bbcSJohn Marino			      editors export history import init log login \
52060962bbcSJohn Marino			      logout rdiff release remove rtag status tag \
52160962bbcSJohn Marino			      unedit update watch watchers)/' \
52260962bbcSJohn Marino			'n/-a/(edit unedit commit all none)/' \
52360962bbcSJohn Marino			'n/watch/(on off add remove)/'
52457e3f2b5SSimon 'corecode' Schubertcomplete svn	 	'C@file:///@`'"${HOME}/etc/tcsh/complete.d/svn"'`@@' \
52557e3f2b5SSimon 'corecode' Schubert			'n@ls@(file:/// svn+ssh:// svn://)@@' \
52660962bbcSJohn Marino			'n@help@(add blame cat checkout cleanup commit copy \
52760962bbcSJohn Marino				  delete export help import info list ls \
52860962bbcSJohn Marino				  lock log merge mkdir move propdel propedit \
52960962bbcSJohn Marino				  propget proplist propset resolved revert \
53060962bbcSJohn Marino				  status switch unlock update)@' \
53160962bbcSJohn Marino			'p@1@(add blame cat checkout cleanup commit copy \
53260962bbcSJohn Marino			      delete export help import info list ls lock \
53360962bbcSJohn Marino			      log merge mkdir move propdel propedit propget \
53460962bbcSJohn Marino			      proplist propset resolved revert status switch \
53560962bbcSJohn Marino			      unlock update)@'
53660962bbcSJohn Marino
5377d8fb588SMatthias Schmidtcomplete cxx		'p/*/f:*.{c++,cxx,c,cc,C,cpp}/'
5387d8fb588SMatthias Schmidtcomplete detex		'p/*/f:*.tex/'
5397d8fb588SMatthias Schmidtcomplete edquota	'n/*/u/'
5407d8fb588SMatthias Schmidtcomplete exec		'p/1/c/'
5417d8fb588SMatthias Schmidtcomplete ghostview	'p/*/f:*.ps/'
5427d8fb588SMatthias Schmidtcomplete gv		'p/*/f:*.ps/'
54360962bbcSJohn Marinocomplete ifconfig	'p@1@`ifconfig -l`@' \
54460962bbcSJohn Marino			'n/*/(range phase link netmask mtu vlandev vlan \
54560962bbcSJohn Marino			    metric mediaopt down delete broadcast arp debug)/'
5467d8fb588SMatthias Schmidtcomplete imake		'c/-I/d/'
5477d8fb588SMatthias Schmidtcomplete ipfw		'p/1/(flush add delete list show zero)/' \
5487d8fb588SMatthias Schmidt			'n/add/(allow permit accept pass deny drop reject \
5497d8fb588SMatthias Schmidt				reset count skipto num divert port tee port)/'
5507d8fb588SMatthias Schmidtcomplete javac		'p/*/f:*.java/'
5517d8fb588SMatthias Schmidtcomplete ldif2ldbm	'n/-i/f:*.ldif/'
5527d8fb588SMatthias Schmidtcomplete libtool	'c/--mode=/(compile execute finish install link \
55360962bbcSJohn Marino				    uninstall)/' \
55460962bbcSJohn Marino			'c/--/(config debug dry-run features finish help \
55560962bbcSJohn Marino				quiet silent version mode=)/'
5567d8fb588SMatthias Schmidtcomplete libtoolize	'c/--/(automake copy debug dry-run force help ltdl \
5577d8fb588SMatthias Schmidt				ltdl-tar version)/'
5587d8fb588SMatthias Schmidtcomplete links		'c/-/(assume-codepage async-dns download-dir \
5597d8fb588SMatthias Schmidt			      format-cache-size ftp-proxy help http-proxy \
5607d8fb588SMatthias Schmidt			      max-connections max-connections-to-host \
5617d8fb588SMatthias Schmidt			      memory-cache-size receive-timeout retries \
5627d8fb588SMatthias Schmidt			      unrestartable-receive-timeout version)/'
5637d8fb588SMatthias Schmidtcomplete natd		c/-/'(alias_address config deny_incoming dynamic \
5647d8fb588SMatthias Schmidt			      inport interface log log_denied log_facility \
5657d8fb588SMatthias Schmidt			      outport outport port pptpalias proxy_only \
5667d8fb588SMatthias Schmidt			      proxy_rule redirect_address redirect_port \
5677d8fb588SMatthias Schmidt			      reverse same_ports unregistered_only use_sockets \
56860962bbcSJohn Marino			      verbose)'/ \
56960962bbcSJohn Marino			'n@-interface@`ifconfig -l`@'
5707d8fb588SMatthias Schmidtcomplete netstat	'n@-I@`ifconfig -l`@'
5717d8fb588SMatthias Schmidtcomplete objdump	'c/--/(adjust-vma= all-headers architecture= \
5727d8fb588SMatthias Schmidt			      archive-headers debugging demangle disassemble \
5737d8fb588SMatthias Schmidt			      disassemble-all disassemble-zeroes dynamic-reloc \
5747d8fb588SMatthias Schmidt			      dynamic-syms endian= file-headers full-contents \
5757d8fb588SMatthias Schmidt			      headers help info line-numbers no-show-raw-insn \
57660962bbcSJohn Marino			      prefix-addresses private-headers reloc \
57760962bbcSJohn Marino			      section-headers section=source stabs \
57860962bbcSJohn Marino			      start-address= stop-address= syms target= \
57960962bbcSJohn Marino			      version wide)/' \
5807d8fb588SMatthias Schmidt			'c/-/(a h i f C d D p r R t T x s S l w)/'
5817d8fb588SMatthias Schmidtcomplete xmodmap	'c/-/(display help grammar verbose quiet n e pm pk \
5827d8fb588SMatthias Schmidt			      pke pp)/'
5837d8fb588SMatthias Schmidtcomplete lynx		'c/-/(accept_all_cookies anonymous assume_charset= \
58460962bbcSJohn Marino			      assume_local_charset= assume_unrec_charset= \
58560962bbcSJohn Marino			      auth= base book buried_news cache= case cfg= \
58660962bbcSJohn Marino			      child cookie_file= cookies core crawl \
58760962bbcSJohn Marino			      debug_partial display= dump editor= emacskeys \
58860962bbcSJohn Marino			      enable_scrollback error_file= force_html \
58960962bbcSJohn Marino			      force_secure forms_options from ftp get_data \
59060962bbcSJohn Marino			      head help hiddenlinks= historical homepage= \
59160962bbcSJohn Marino			      image_links index= ismap link= localhost \
59260962bbcSJohn Marino			      mime_header minimal newschunksize= \
59360962bbcSJohn Marino			      newsmaxchunk= nobrowse nocc nocolor \
59460962bbcSJohn Marino			      nofilereferer nolist nolog nopause noprint \
59560962bbcSJohn Marino			      noredir noreferer nostatus number_links \
59660962bbcSJohn Marino			      partial partial_thres pauth= popup post_data \
59760962bbcSJohn Marino			      preparsed print pseudo_inlines raw realm \
59860962bbcSJohn Marino			      reload restrictions= resubmit_posts rlogin \
59960962bbcSJohn Marino			      selective show_cursor soft_dquotes source \
60060962bbcSJohn Marino			      stack_dump startfile_ok tagsoup telnet term= \
60160962bbcSJohn Marino			      tlog trace traversal underscore useragent= \
60260962bbcSJohn Marino			      validate verbose version vikeys width=)/' \
60360962bbcSJohn Marino			'c/(http|ftp)/$URLS/'
6047d8fb588SMatthias Schmidtcomplete gmake		'c/{--directory=,--include-dir=}/d/' \
6057d8fb588SMatthias Schmidt			'c/{--assume-new,--assume-old,--makefile,--new-file,--what-if,--file}/f/' \
6067d8fb588SMatthias Schmidt			'c/--/(assume-new= assume-old= debug directory= \
6077d8fb588SMatthias Schmidt			      dry-run environment-overrides file= help \
6087d8fb588SMatthias Schmidt			      ignore-errors include-dir= jobs[=N] just-print \
60960962bbcSJohn Marino			      keep-going load-average[=N] makefile= \
61060962bbcSJohn Marino			      max-load[=N] new-file= no-builtin-rules \
61160962bbcSJohn Marino			      no-keep-going no-print-directory old-file= \
61260962bbcSJohn Marino			      print-data-base print-directory question quiet \
61360962bbcSJohn Marino			      recon silent stop touch version \
61460962bbcSJohn Marino			      warn-undefined-variables what-if=)/' \
6157d8fb588SMatthias Schmidt			'n@*@`cat -s GNUMakefile Makefile makefile |& sed -n -e "/No such file/d" -e "s/^\([A-Za-z0-9-]*\):.*/\1/p"`@' \
61660962bbcSJohn Marino			'n/=/f/' \
61760962bbcSJohn Marino			'n/-f/f/'
6187d8fb588SMatthias Schmidt
61960962bbcSJohn Marinocomplete mpg123		'c/--/(2to1 4to1 8bit aggressive au audiodevice auth \
62060962bbcSJohn Marino			      buffer cdr check doublespeed equalizer frames \
62160962bbcSJohn Marino			      gain halfspeed headphones left lineout list \
62260962bbcSJohn Marino			      mix mono proxy quiet random rate reopen resync \
62360962bbcSJohn Marino			      right scale shuffle single0 single1 skip \
62460962bbcSJohn Marino			      speaker stdout stereo test verbose wav)/'
6257d8fb588SMatthias Schmidtcomplete mysqladmin	'n/*/(create drop extended-status flush-hosts \
62660962bbcSJohn Marino			      flush-logs flush-status flush-tables \
62760962bbcSJohn Marino			      flush-privileges kill password ping \
62860962bbcSJohn Marino			      processlist reload refresh shutdown status \
62960962bbcSJohn Marino			      variables version)/'
63060962bbcSJohn Marino
63160962bbcSJohn Marinocomplete mutt \
63260962bbcSJohn Marino  "c@-f=@F:${HOME}/Mail/@" \
6337d8fb588SMatthias Schmidt  n/-a/f/ \
63460962bbcSJohn Marino  n/-F/f/ \
63560962bbcSJohn Marino  n/-H/f/ \
6367d8fb588SMatthias Schmidt  n/-s/x:'<subject line>'/ \
6377d8fb588SMatthias Schmidt  n/-e/x:'<command>'/ \
63857e3f2b5SSimon 'corecode' Schubert  n@-b@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@ \
63957e3f2b5SSimon 'corecode' Schubert  n@-c@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@ \
64057e3f2b5SSimon 'corecode' Schubert  n@*@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@
64160962bbcSJohn Marino
6427d8fb588SMatthias Schmidtcomplete ndc	'n/*/(status dumpdb reload stats trace notrace \
6437d8fb588SMatthias Schmidt		    querylog start stop restart )/'
64460962bbcSJohn Marino
6457d8fb588SMatthias Schmidtcomplete nm \
6467d8fb588SMatthias Schmidt  'c/--radix=/x:<radix: _o_ctal _d_ecimal he_x_adecimal>/' \
6477d8fb588SMatthias Schmidt  'c/--target=/x:<bfdname>/' \
6487d8fb588SMatthias Schmidt  'c/--format=/(bsd sysv posix)/n/' \
6497d8fb588SMatthias Schmidt  'c/--/(debugsyms extern-only demangle dynamic print-armap \
6507d8fb588SMatthias Schmidt	  print-file-name numeric-sort no-sort reverse-sort \
6517d8fb588SMatthias Schmidt	  size-sort undefined-only portability target= radix= \
6527d8fb588SMatthias Schmidt	  format= defined-only\ line-numbers no-demangle version \
6537d8fb588SMatthias Schmidt	  help)//' \
6547d8fb588SMatthias Schmidt  'n/*/f:^*.{h,c,cc,s,S}/'
65560962bbcSJohn Marino
6567d8fb588SMatthias Schmidtcomplete nmap	'n@-e@`ifconfig -l`@' 'p/*/$hostnames/'
6577d8fb588SMatthias Schmidtcomplete perldoc 	'n@*@`\ls -1 /usr/libdata/perl/5.*/pod | sed s%\\.pod.\*\$%%`@'
6587d8fb588SMatthias Schmidtcomplete postfix    'n/*/(start stop reload abort flush check)/'
65994afa86dSJohn Marinocomplete postmap	'n/1/(hash: regexp:)/' 'c/hash:/f/' 'c/regexp:/f/'
6607d8fb588SMatthias Schmidtcomplete rcsdiff	'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@'
6617d8fb588SMatthias Schmidtcomplete X		'c/-/(I a ac allowMouseOpenFail allowNonLocalModInDev \
6627d8fb588SMatthias Schmidt		    allowNonLocalXvidtune ar1 ar2 audit auth bestRefresh \
6637d8fb588SMatthias Schmidt		    bgamma bpp broadcast bs c cc class co core deferglyphs \
6647d8fb588SMatthias Schmidt		    disableModInDev disableVidMode displayID dpi dpms f fc \
6657d8fb588SMatthias Schmidt		    flipPixels fn fp gamma ggamma help indirect kb keeptty \
6667d8fb588SMatthias Schmidt		    ld lf logo ls nolisten string noloadxkb nolock nopn \
6677d8fb588SMatthias Schmidt		    once p pn port probeonly query quiet r rgamma s \
6687d8fb588SMatthias Schmidt		    showconfig sp su t terminate to tst v verbose version \
6697d8fb588SMatthias Schmidt		    weight wm x xkbdb xkbmap)/'
6707d8fb588SMatthias Schmidtcomplete users      'c/--/(help version)/' 'p/1/x:"<accounting_file>"/'
6717d8fb588SMatthias Schmidtcomplete vidcontrol	'p/1/(132x25 132x30 132x43 132x50 132x60 40x25 80x25 \
6727d8fb588SMatthias Schmidt		    80x30 80x43 80x50 80x60 EGA_80x25 EGA_80x43 \
6737d8fb588SMatthias Schmidt		    VESA_132x25 VESA_132x30 VESA_132x43 VESA_132x50 \
6747d8fb588SMatthias Schmidt		    VESA_132x60 VESA_800x600 VGA_320x200 VGA_40x25 \
6757d8fb588SMatthias Schmidt		    VGA_80x25 VGA_80x30 VGA_80x50 VGA_80x60)/'
6767d8fb588SMatthias Schmidtcomplete vim	'n/*/f:^*.[oa]/'
6777d8fb588SMatthias Schmidtcomplete where	'n/*/c/'
6787d8fb588SMatthias Schmidtcomplete which	'n/*/c/'
6797d8fb588SMatthias Schmidtcomplete wmsetbg	'c/-/(display D S a b c d e m p s t u w)/' \
6807d8fb588SMatthias Schmidt		    'c/--/(back-color center colors dither help match \
6817d8fb588SMatthias Schmidt		    maxscale parse scale smooth tile update-domain \
6827d8fb588SMatthias Schmidt		    update-wmaker version workspace)/'
6837d8fb588SMatthias Schmidtcomplete xdb	'p/1/c/'
6847d8fb588SMatthias Schmidtcomplete xdvi	'c/-/(allowshell debug display expert gamma hushchars \
6857d8fb588SMatthias Schmidt		    hushchecksums hushspecials install interpreter keep \
6867d8fb588SMatthias Schmidt		    margins nogrey noinstall nomakepk noscan paper safer \
6877d8fb588SMatthias Schmidt		    shrinkbuttonn thorough topmargin underlink version)/' \
6887d8fb588SMatthias Schmidt		    'n/-paper/(a4 a4r a5 a5r)/' 'p/*/f:*.dvi/'
6897d8fb588SMatthias Schmidtcomplete xlock	'c/-/(allowaccess allowroot debug description \
6907d8fb588SMatthias Schmidt		    echokeys enablesaver grabmouse grabserver hide inroot \
6917d8fb588SMatthias Schmidt		    install inwindow mono mousemotion nolock remote \
6927d8fb588SMatthias Schmidt		    resetsaver sound timeelapsed use3d usefirst verbose \
6937d8fb588SMatthias Schmidt		    wireframe background batchcount bg bitmap both3d \
6947d8fb588SMatthias Schmidt		    count cycles delay delta3d display dpmsoff \
6957d8fb588SMatthias Schmidt		    dpmsstandby dpmssuspend endCmd erasedelay erasemode \
6967d8fb588SMatthias Schmidt		    erasetime fg font foreground geometry help \
6977d8fb588SMatthias Schmidt		    icongeometry info invalid left3d lockdelay logoutCmd \
6987d8fb588SMatthias Schmidt		    mailCmd mailIcon message messagefile messagefont \
6997d8fb588SMatthias Schmidt		    messagesfile mode name ncolors nice nomailIcon none3d \
7007d8fb588SMatthias Schmidt		    parent password planfont program resources right3d \
7017d8fb588SMatthias Schmidt		    saturation size startCmd timeout username validate \
7027d8fb588SMatthias Schmidt		    version visual)/' 'n/-mode/(ant atlantis ball bat \
7037d8fb588SMatthias Schmidt		    blot bouboule bounce braid bubble bubble3d bug cage \
7047d8fb588SMatthias Schmidt		    cartoon clock coral crystal daisy dclock decay deco \
7057d8fb588SMatthias Schmidt		    demon dilemma discrete drift eyes fadeplot flag flame \
7067d8fb588SMatthias Schmidt		    flow forest galaxy gears goop grav helix hop hyper \
7077d8fb588SMatthias Schmidt		    ico ifs image invert julia kaleid kumppa lament laser \
7087d8fb588SMatthias Schmidt		    life life1d life3d lightning lisa lissie loop lyapunov \
7097d8fb588SMatthias Schmidt		    mandelbrot marquee matrix maze moebius morph3d \
7107d8fb588SMatthias Schmidt		    mountain munch nose pacman penrose petal pipes puzzle \
7117d8fb588SMatthias Schmidt		    pyro qix roll rotor rubik shape sierpinski slip sphere \
7127d8fb588SMatthias Schmidt		    spiral spline sproingies stairs star starfish strange \
7137d8fb588SMatthias Schmidt		    superquadrics swarm swirl tetris thornbird triangle \
7147d8fb588SMatthias Schmidt		    tube turtle vines voters wator wire world worm xjack \
7157d8fb588SMatthias Schmidt		    blank bomb random)/'
7167d8fb588SMatthias Schmidtcomplete xfig	'c/-/(display)/' 'p/*/f:*.fig/'
7177d8fb588SMatthias Schmidtcomplete wget 	c/--/"(accept= append-output= background cache= \
7187d8fb588SMatthias Schmidt		    continue convert-links cut-dirs= debug \
7197d8fb588SMatthias Schmidt		    delete-after directory-prefix= domains= \
7207d8fb588SMatthias Schmidt		    dont-remove-listing dot-style= exclude-directories= \
7217d8fb588SMatthias Schmidt		    exclude-domains= execute= follow-ftp \
7227d8fb588SMatthias Schmidt		    force-directories force-html glob= header= help \
7237d8fb588SMatthias Schmidt		    http-passwd= http-user= ignore-length \
7247d8fb588SMatthias Schmidt		    include-directories= input-file= level= mirror \
7257d8fb588SMatthias Schmidt		    no-clobber no-directories no-host-directories \
7267d8fb588SMatthias Schmidt		    no-host-lookup no-parent non-verbose \
7277d8fb588SMatthias Schmidt		    output-document= output-file= passive-ftp \
7287d8fb588SMatthias Schmidt		    proxy-passwd= proxy-user= proxy= quiet quota= \
7297d8fb588SMatthias Schmidt		    recursive reject= relative retr-symlinks save-headers \
7307d8fb588SMatthias Schmidt		    server-response span-hosts spider timeout= \
7317d8fb588SMatthias Schmidt		    timestamping tries= user-agent= verbose version wait=)"/
7327d8fb588SMatthias Schmidt
7337d8fb588SMatthias Schmidt# these from Tom Warzeka <tom@waz.cc>
7347d8fb588SMatthias Schmidt
7357d8fb588SMatthias Schmidt# this one works but is slow and doesn't descend into subdirectories
7367d8fb588SMatthias Schmidt# complete	cd	C@[./\$~]*@d@ \
7377d8fb588SMatthias Schmidt#			p@1@'`\ls -1F . $cdpath | grep /\$ | sort -u`'@ n@*@n@
7387d8fb588SMatthias Schmidt
7397d8fb588SMatthias Schmidtif ( -r /etc/shells ) then
7407d8fb588SMatthias Schmidt    complete setenv	p@1@e@ n@DISPLAY@\$hosts@: n@SHELL@'`cat /etc/shells`'@
7417d8fb588SMatthias Schmidtelse
7427d8fb588SMatthias Schmidt    complete setenv	p@1@e@ n@DISPLAY@\$hosts@:
7437d8fb588SMatthias Schmidtendif
7447d8fb588SMatthias Schmidtcomplete unsetenv	n/*/e/
7457d8fb588SMatthias Schmidt
7467d8fb588SMatthias Schmidtset _maildir = /var/mail
74757e3f2b5SSimon 'corecode' Schubertif (-r "$HOME/.mailrc") then
7487d8fb588SMatthias Schmidt    complete mail	c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
74957e3f2b5SSimon 'corecode' Schubert		    "c@+@F:$HOME/Mail@" C@[./\$~]@f@ n/-s/x:'<subject>'/ \
7507d8fb588SMatthias Schmidt		    n@-u@T:$_maildir@ n/-f/f/ \
75157e3f2b5SSimon 'corecode' Schubert		    n@*@'`sed -n s/alias//p "$HOME/.mailrc" | \
75257e3f2b5SSimon 'corecode' Schubert		    tr -s " " "	" | cut -f 2`'@
7537d8fb588SMatthias Schmidtelse
7547d8fb588SMatthias Schmidt    complete mail	c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
75557e3f2b5SSimon 'corecode' Schubert		    "c@+@F:$HOME/Mail@" C@[./\$~]@f@ n/-s/x:'<subject>'/ \
7567d8fb588SMatthias Schmidt		    n@-u@T:$_maildir@ n/-f/f/ n/*/u/
7577d8fb588SMatthias Schmidtendif
7587d8fb588SMatthias Schmidtunset _maildir
7597d8fb588SMatthias Schmidt
7607d8fb588SMatthias Schmidtif (! $?MANPATH) then
7617d8fb588SMatthias Schmidt    if (-r /usr/share/man) then
7627d8fb588SMatthias Schmidt	setenv MANPATH /usr/share/man:
7637d8fb588SMatthias Schmidt    else
7647d8fb588SMatthias Schmidt	setenv MANPATH /usr/man:
7657d8fb588SMatthias Schmidt    endif
7667d8fb588SMatthias Schmidtendif
7677d8fb588SMatthias Schmidt
7687d8fb588SMatthias Schmidtif ($?traditional_complete) then
7697d8fb588SMatthias Schmidt    # use of $MANPATH from Dan Nicolaescu <dann@ics.uci.edu>
7707d8fb588SMatthias Schmidt    # use of 'find' adapted from Lubomir Host <host8@kepler.fmph.uniba.sk>
7717d8fb588SMatthias Schmidt    complete man \
7727d8fb588SMatthias Schmidt	'n@1@`set q = "$MANPATH:as%:%/man1 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.1.\*\$%%`@'\
7737d8fb588SMatthias Schmidt	'n@2@`set q = "$MANPATH:as%:%/man2 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.2.\*\$%%`@'\
7747d8fb588SMatthias Schmidt	'n@3@`set q = "$MANPATH:as%:%/man3 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.3.\*\$%%`@'\
7757d8fb588SMatthias Schmidt	'n@4@`set q = "$MANPATH:as%:%/man4 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.4.\*\$%%`@'\
7767d8fb588SMatthias Schmidt	'n@5@`set q = "$MANPATH:as%:%/man5 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.5.\*\$%%`@'\
7777d8fb588SMatthias Schmidt	'n@6@`set q = "$MANPATH:as%:%/man6 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.6.\*\$%%`@'\
7787d8fb588SMatthias Schmidt	'n@7@`set q = "$MANPATH:as%:%/man7 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.7.\*\$%%`@'\
7797d8fb588SMatthias Schmidt	'n@8@`set q = "$MANPATH:as%:%/man8 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.8.\*\$%%`@'\
7807d8fb588SMatthias Schmidt	'n@9@`set q = "$MANPATH:as%:%/man9 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.9.\*\$%%`@'\
7817d8fb588SMatthias Schmidt	'n@0@`set q = "$MANPATH:as%:%/man0 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.0.\*\$%%`@'\
7827d8fb588SMatthias Schmidt	'n@n@`set q = "$MANPATH:as%:%/mann %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.n.\*\$%%`@'\
7837d8fb588SMatthias Schmidt	'n@o@`set q = "$MANPATH:as%:%/mano %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.o.\*\$%%`@'\
7847d8fb588SMatthias Schmidt	'n@l@`set q = "$MANPATH:as%:%/manl %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.l.\*\$%%`@'\
7857d8fb588SMatthias Schmidt	'n@p@`set q = "$MANPATH:as%:%/manp %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.p.\*\$%%`@'\
7867d8fb588SMatthias Schmidt	c@-@"(- f k M P s S t)"@ n@-f@c@ n@-k@x:'<keyword>'@ n@-[MP]@d@   \
7877d8fb588SMatthias Schmidt	'N@-[MP]@`\ls -1 $:-1/man? |& sed -n s%\\..\\+\$%%p`@'            \
7887d8fb588SMatthias Schmidt	'n@-[sS]@`\ls -1 $MANPATH:as%:% % |& sed -n s%^man%%p | sort -u`@'\
7897d8fb588SMatthias Schmidt	'n@*@`find $MANPATH:as%:% % \( -type f -o -type l \) -printf "%f " |& sed -e "s%find: .*: No such file or directory%%" -e "s%\([^\.]\+\)\.\([^ ]*\) %\1 %g"`@'
7907d8fb588SMatthias Schmidt	#n@*@c@ # old way -- commands only
7917d8fb588SMatthias Schmidtelse
7927d8fb588SMatthias Schmidt    complete man	    n@1@'`\ls -1 /usr/man/man1 | sed s%\\.1.\*\$%%`'@ \
7937d8fb588SMatthias Schmidt			n@2@'`\ls -1 /usr/man/man2 | sed s%\\.2.\*\$%%`'@ \
7947d8fb588SMatthias Schmidt			n@3@'`\ls -1 /usr/man/man3 | sed s%\\.3.\*\$%%`'@ \
7957d8fb588SMatthias Schmidt			n@4@'`\ls -1 /usr/man/man4 | sed s%\\.4.\*\$%%`'@ \
7967d8fb588SMatthias Schmidt			n@5@'`\ls -1 /usr/man/man5 | sed s%\\.5.\*\$%%`'@ \
7977d8fb588SMatthias Schmidt			n@6@'`\ls -1 /usr/man/man6 | sed s%\\.6.\*\$%%`'@ \
7987d8fb588SMatthias Schmidt			n@7@'`\ls -1 /usr/man/man7 | sed s%\\.7.\*\$%%`'@ \
7997d8fb588SMatthias Schmidt			n@8@'`\ls -1 /usr/man/man8 | sed s%\\.8.\*\$%%`'@ \
8007d8fb588SMatthias Schmidtn@9@'`[ -r /usr/man/man9 ] && \ls -1 /usr/man/man9 | sed s%\\.9.\*\$%%`'@ \
8017d8fb588SMatthias Schmidtn@0@'`[ -r /usr/man/man0 ] && \ls -1 /usr/man/man0 | sed s%\\.0.\*\$%%`'@ \
8027d8fb588SMatthias Schmidtn@new@'`[ -r /usr/man/mann ] && \ls -1 /usr/man/mann | sed s%\\.n.\*\$%%`'@ \
8037d8fb588SMatthias Schmidtn@old@'`[ -r /usr/man/mano ] && \ls -1 /usr/man/mano | sed s%\\.o.\*\$%%`'@ \
8047d8fb588SMatthias Schmidtn@local@'`[ -r /usr/man/manl ] && \ls -1 /usr/man/manl | sed s%\\.l.\*\$%%`'@ \
8057d8fb588SMatthias Schmidtn@public@'`[ -r /usr/man/manp ]&& \ls -1 /usr/man/manp | sed s%\\.p.\*\$%%`'@ \
8067d8fb588SMatthias Schmidt	    c/-/"(- f k P s t)"/ n/-f/c/ n/-k/x:'<keyword>'/ n/-P/d/ \
8077d8fb588SMatthias Schmidt	    N@-P@'`\ls -1 $:-1/man? | sed s%\\..\*\$%%`'@ n/*/c/
8087d8fb588SMatthias Schmidtendif
8097d8fb588SMatthias Schmidt
8107d8fb588SMatthias Schmidtcomplete ps	        c/-t/x:'<tty>'/ c/-/"(a c C e g k l S t u v w x)"/ \
8117d8fb588SMatthias Schmidt		    n/-k/x:'<kernel>'/ N/-k/x:'<core_file>'/ n/*/x:'<PID>'/
8127d8fb588SMatthias Schmidtcomplete compress	c/-/"(c f v b)"/ n/-b/x:'<max_bits>'/ n/*/f:^*.Z/
8137d8fb588SMatthias Schmidtcomplete uncompress	c/-/"(c f v)"/                        n/*/f:*.Z/
8147d8fb588SMatthias Schmidt
8157d8fb588SMatthias Schmidtcomplete uuencode	p/1/f/ p/2/x:'<decode_pathname>'/ n/*/n/
8167d8fb588SMatthias Schmidtcomplete uudecode	c/-/"(f)"/ n/-f/f:*.{uu,UU}/ p/1/f:*.{uu,UU}/ n/*/n/
8177d8fb588SMatthias Schmidt
8187d8fb588SMatthias Schmidtcomplete xhost	c/[+-]/\$hosts/ n/*/\$hosts/
8197d8fb588SMatthias Schmidtcomplete xpdf	c/-/"(z g remote raise quit cmap rgb papercolor       \
8207d8fb588SMatthias Schmidt			  eucjp t1lib freetype ps paperw paperh level1    \
8217d8fb588SMatthias Schmidt			  upw fullscreen cmd q v h help)"/                \
8227d8fb588SMatthias Schmidt		    n/-z/x:'<zoom (-5 .. +5) or "page" or "width">'/      \
8237d8fb588SMatthias Schmidt		    n/-g/x:'<geometry>'/ n/-remote/x:'<name>'/            \
8247d8fb588SMatthias Schmidt		    n/-rgb/x:'<number>'/ n/-papercolor/x:'<color>'/       \
8257d8fb588SMatthias Schmidt		    n/-{t1lib,freetype}/x:'<font_type>'/                  \
8267d8fb588SMatthias Schmidt		    n/-ps/x:'<PS_file>'/ n/-paperw/x:'<width>'/           \
8277d8fb588SMatthias Schmidt		    n/-paperh/x:'<height>'/ n/-upw/x:'<password>'/        \
8287d8fb588SMatthias Schmidt		    n/-/f:*.{pdf,PDF}/                                    \
8297d8fb588SMatthias Schmidt		    N/-{z,g,remote,rgb,papercolor,t1lib,freetype,ps,paperw,paperh,upw}/f:*.{pdf,PDF}/ \
8307d8fb588SMatthias Schmidt		    N/-/x:'<page>'/ p/1/f:*.{pdf,PDF}/ p/2/x:'<page>'/
8317d8fb588SMatthias Schmidt
8327d8fb588SMatthias Schmidtcomplete tcsh	c/-D*=/'x:<value>'/ c/-D/'x:<name>'/ \
8337d8fb588SMatthias Schmidt		    c/-/"(b c d D e f F i l m n q s t v V x X -version)"/ \
8347d8fb588SMatthias Schmidt		    n/-c/c/ n/{-l,--version}/n/ n/*/'f:*.{,t}csh'/
8357d8fb588SMatthias Schmidt
8367d8fb588SMatthias Schmidtcomplete rpm	c/--/"(query verify nodeps nofiles nomd5 noscripts    \
8377d8fb588SMatthias Schmidt		    nogpg nopgp install upgrade freshen erase allmatches  \
8387d8fb588SMatthias Schmidt		    notriggers repackage test rebuild recompile initdb    \
8397d8fb588SMatthias Schmidt		    rebuilddb addsign resign querytags showrc setperms    \
8407d8fb588SMatthias Schmidt		    setugids all file group package querybynumber qf      \
8417d8fb588SMatthias Schmidt		    triggeredby whatprovides whatrequires changelog       \
8427d8fb588SMatthias Schmidt		    configfiles docfiles dump filesbypkg info last list   \
8437d8fb588SMatthias Schmidt		    provides queryformat requires scripts state triggers  \
8447d8fb588SMatthias Schmidt		    triggerscripts allfiles badreloc excludepath checksig \
8457d8fb588SMatthias Schmidt		    excludedocs force hash ignoresize ignorearch ignoreos \
8467d8fb588SMatthias Schmidt		    includedocs justdb noorder oldpackage percent prefix  \
8477d8fb588SMatthias Schmidt		    relocate replace-files replacepkgs buildroot clean    \
8487d8fb588SMatthias Schmidt		    nobuild rmsource rmspec short-circuit sign target     \
8497d8fb588SMatthias Schmidt		    help version quiet rcfile pipe dbpath root specfile)"/\
8507d8fb588SMatthias Schmidt		    c/-/"(q V K i U F e ba bb bp bc bi bl bs ta tb tp tc  \
8517d8fb588SMatthias Schmidt		    ti tl ts a f g p c d l R s h ? v vv -)"/              \
8527d8fb588SMatthias Schmidt	    n/{-f,--file}/f/ n/{-g,--group}/g/ n/--pipe/c/ n/--dbpath/d/  \
8537d8fb588SMatthias Schmidt	    n/--querybynumber/x:'<number>'/ n/--triggeredby/x:'<package>'/\
8547d8fb588SMatthias Schmidt	    n/--what{provides,requires}/x:'<capability>'/ n/--root/d/     \
8557d8fb588SMatthias Schmidt	    n/--{qf,queryformat}/x:'<format>'/ n/--buildroot/d/           \
8567d8fb588SMatthias Schmidt	    n/--excludepath/x:'<oldpath>'/  n/--prefix/x:'<newpath>'/     \
8577d8fb588SMatthias Schmidt	    n/--relocate/x:'<oldpath=newpath>'/ n/--target/x:'<platform>'/\
8587d8fb588SMatthias Schmidt	    n/--rcfile/x:'<filelist>'/ n/--specfile/x:'<specfile>'/       \
8597d8fb588SMatthias Schmidt	    n/{-[iUFep],--{install,upgrade,freshen,erase,package}}/f:*.rpm/
8607d8fb588SMatthias Schmidt
8617d8fb588SMatthias Schmidt# these conform to the latest GNU versions available at press time ...
8627d8fb588SMatthias Schmidt# updates by John Gotts <jgotts@engin.umich.edu>
8637d8fb588SMatthias Schmidtif (-X emacs) then
8647d8fb588SMatthias Schmidt  # TW note:  if your version of GNU Emacs supports the "--version" option,
8657d8fb588SMatthias Schmidt  #           uncomment this line and comment the next to automatically
8667d8fb588SMatthias Schmidt  #           detect the version, else set "_emacs_ver" to your version.
8677d8fb588SMatthias Schmidt  #set _emacs_ver=`emacs --version | sed -e 's%GNU Emacs %%' -e q | cut -d . -f1-2`
8687d8fb588SMatthias Schmidt  set _emacs_ver=21.3
8697d8fb588SMatthias Schmidt  set _emacs_dir=`which emacs | sed s%/bin/emacs%%`
8707d8fb588SMatthias Schmidt  complete emacs	c/--/"(batch terminal display no-windows no-init-file \
8717d8fb588SMatthias Schmidt			   user debug-init unibyte multibyte version help \
8727d8fb588SMatthias Schmidt			   no-site-file funcall load eval insert kill)"/ \
8737d8fb588SMatthias Schmidt		    c/-/"(t d nw q u f l -)"/ c/+/x:'<line_number>'/ \
8747d8fb588SMatthias Schmidt		    n/{-t,--terminal}/x:'<terminal>'/ n/{-d,--display}/x:'<display>'/ \
8757d8fb588SMatthias Schmidt		    n/{-u,--user}/u/ n/{-f,--funcall}/x:'<lisp_function>'/ \
8767d8fb588SMatthias Schmidt		    n@{-l,--load}@F:$_emacs_dir/share/emacs/$_emacs_ver/lisp@ \
8777d8fb588SMatthias Schmidt		    n/--eval/x:'<expression>'/ n/--insert/f/ n/*/f:^*[\#~]/
8787d8fb588SMatthias Schmidt  unset _emacs_ver _emacs_dir
8797d8fb588SMatthias Schmidtendif
8807d8fb588SMatthias Schmidt
8817d8fb588SMatthias Schmidtcomplete gzcat	c/--/"(force help license quiet version)"/ \
8827d8fb588SMatthias Schmidt		    c/-/"(f h L q V -)"/ n/*/f:*.{gz,Z,z,zip}/
8837d8fb588SMatthias Schmidtcomplete gzip	c/--/"(stdout to-stdout decompress uncompress \
8847d8fb588SMatthias Schmidt		    force help list license no-name quiet recurse \
8857d8fb588SMatthias Schmidt		    suffix test verbose version fast best)"/ \
8867d8fb588SMatthias Schmidt		    c/-/"(c d f h l L n q r S t v V 1 2 3 4 5 6 7 8 9 -)"/\
8877d8fb588SMatthias Schmidt		    n/{-S,--suffix}/x:'<file_name_suffix>'/ \
8887d8fb588SMatthias Schmidt		    n/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \
8897d8fb588SMatthias Schmidt		    N/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \
8907d8fb588SMatthias Schmidt		    n/*/f:^*.{gz,Z,z,zip,taz,tgz}/
8917d8fb588SMatthias Schmidtcomplete {gunzip,ungzip} c/--/"(stdout to-stdout force help list license \
8927d8fb588SMatthias Schmidt		    no-name quiet recurse suffix test verbose version)"/ \
8937d8fb588SMatthias Schmidt		    c/-/"(c f h l L n q r S t v V -)"/ \
8947d8fb588SMatthias Schmidt		    n/{-S,--suffix}/x:'<file_name_suffix>'/ \
8957d8fb588SMatthias Schmidt		    n/*/f:*.{gz,Z,z,zip,taz,tgz}/
8967d8fb588SMatthias Schmidtcomplete zgrep	c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
8977d8fb588SMatthias Schmidt		    c/-/"(A b B c C e f h i l n s v V w x)"/ \
8987d8fb588SMatthias Schmidt		    p/1/x:'<limited_regular_expression>'/ N/-*e/f/ \
8997d8fb588SMatthias Schmidt		    n/-*e/x:'<limited_regular_expression>'/ n/-*f/f/ n/*/f/
9007d8fb588SMatthias Schmidtcomplete zegrep	c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
9017d8fb588SMatthias Schmidt		    c/-/"(A b B c C e f h i l n s v V w x)"/ \
9027d8fb588SMatthias Schmidt		    p/1/x:'<full_regular_expression>'/ N/-*e/f/ \
9037d8fb588SMatthias Schmidt		    n/-*e/x:'<full_regular_expression>'/ n/-*f/f/ n/*/f/
9047d8fb588SMatthias Schmidtcomplete zfgrep	c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
9057d8fb588SMatthias Schmidt		    c/-/"(A b B c C e f h i l n s v V w x)"/ \
9067d8fb588SMatthias Schmidt		    p/1/x:'<fixed_string>'/ N/-*e/f/ \
9077d8fb588SMatthias Schmidt		    n/-*e/x:'<fixed_string>'/ n/-*f/f/ n/*/f/
9087d8fb588SMatthias Schmidtcomplete znew	c/-/"(f t v 9 P K)"/ n/*/f:*.Z/
9097d8fb588SMatthias Schmidtcomplete zmore	n/*/f:*.{gz,Z,z,zip}/
9107d8fb588SMatthias Schmidtcomplete zfile	n/*/f:*.{gz,Z,z,zip,taz,tgz}/
9117d8fb588SMatthias Schmidtcomplete ztouch	n/*/f:*.{gz,Z,z,zip,taz,tgz}/
9127d8fb588SMatthias Schmidtcomplete zforce	n/*/f:^*.{gz,tgz}/
9137d8fb588SMatthias Schmidt
9147d8fb588SMatthias Schmidtcomplete dcop 'p/1/`$:0`/ /' \
9157d8fb588SMatthias Schmidt    'p/2/`$:0 $:1 | awk \{print\ \$1\}`/ /' \
9167d8fb588SMatthias Schmidt    'p/3/`$:0 $:1 $:2 | sed "s%.* \(.*\)(.*%\1%"`/ /'
9177d8fb588SMatthias Schmidt
9187d8fb588SMatthias Schmidt
9197d8fb588SMatthias Schmidtcomplete grep	c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
9207d8fb588SMatthias Schmidt		    c/--/"(extended-regexp fixed-regexp basic-regexp \
9217d8fb588SMatthias Schmidt		    regexp file ignore-case word-regexp line-regexp \
9227d8fb588SMatthias Schmidt		    no-messages revert-match version help byte-offset \
9237d8fb588SMatthias Schmidt		    line-number with-filename no-filename quiet silent \
9247d8fb588SMatthias Schmidt		    text directories recursive files-without-match \
9257d8fb588SMatthias Schmidt		    files-with-matches count before-context after-context \
9267d8fb588SMatthias Schmidt		    context binary unix-byte-offsets)"/ \
9277d8fb588SMatthias Schmidt		    c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \
9287d8fb588SMatthias Schmidt			    v w x)"/ \
9297d8fb588SMatthias Schmidt		    p/1/x:'<limited_regular_expression>'/ N/-*e/f/ \
9307d8fb588SMatthias Schmidt		    n/-*e/x:'<limited_regular_expression>'/ n/-*f/f/ n/*/f/
9317d8fb588SMatthias Schmidtcomplete egrep	c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
9327d8fb588SMatthias Schmidt		    c/--/"(extended-regexp fixed-regexp basic-regexp \
9337d8fb588SMatthias Schmidt		    regexp file ignore-case word-regexp line-regexp \
9347d8fb588SMatthias Schmidt		    no-messages revert-match version help byte-offset \
9357d8fb588SMatthias Schmidt		    line-number with-filename no-filename quiet silent \
9367d8fb588SMatthias Schmidt		    text directories recursive files-without-match \
9377d8fb588SMatthias Schmidt		    files-with-matches count before-context after-context \
9387d8fb588SMatthias Schmidt		    context binary unix-byte-offsets)"/ \
9397d8fb588SMatthias Schmidt		    c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \
9407d8fb588SMatthias Schmidt			    v w x)"/ \
9417d8fb588SMatthias Schmidt		    p/1/x:'<full_regular_expression>'/ N/-*e/f/ \
9427d8fb588SMatthias Schmidt		    n/-*e/x:'<full_regular_expression>'/ n/-*f/f/ n/*/f/
9437d8fb588SMatthias Schmidtcomplete fgrep	c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
9447d8fb588SMatthias Schmidt		    c/--/"(extended-regexp fixed-regexp basic-regexp \
9457d8fb588SMatthias Schmidt		    regexp file ignore-case word-regexp line-regexp \
9467d8fb588SMatthias Schmidt		    no-messages revert-match version help byte-offset \
9477d8fb588SMatthias Schmidt		    line-number with-filename no-filename quiet silent \
9487d8fb588SMatthias Schmidt		    text directories recursive files-without-match \
9497d8fb588SMatthias Schmidt		    files-with-matches count before-context after-context \
9507d8fb588SMatthias Schmidt		    context binary unix-byte-offsets)"/ \
9517d8fb588SMatthias Schmidt		    c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \
9527d8fb588SMatthias Schmidt			    v w x)"/ \
9537d8fb588SMatthias Schmidt		    p/1/x:'<fixed_string>'/ N/-*e/f/ \
9547d8fb588SMatthias Schmidt		    n/-*e/x:'<fixed_string>'/ n/-*f/f/ n/*/f/
9557d8fb588SMatthias Schmidt
9567d8fb588SMatthias Schmidtcomplete sed	c/--/"(quiet silent version help expression file)"/   \
9577d8fb588SMatthias Schmidt		    c/-/"(n V e f -)"/ n/{-e,--expression}/x:'<script>'/  \
9587d8fb588SMatthias Schmidt		    n/{-f,--file}/f:*.sed/ N/-{e,f,-{file,expression}}/f/ \
9597d8fb588SMatthias Schmidt		    n/-/x:'<script>'/ N/-/f/ p/1/x:'<script>'/ p/2/f/
9607d8fb588SMatthias Schmidt
9617d8fb588SMatthias Schmidtcomplete users	c/--/"(help version)"/ p/1/x:'<accounting_file>'/
9627d8fb588SMatthias Schmidtcomplete who	c/--/"(heading idle count mesg message writable help \
9637d8fb588SMatthias Schmidt		    version)"/ c/-/"(H i m q s T w u -)"/ \
9647d8fb588SMatthias Schmidt		    p/1/x:'<accounting_file>'/ n/am/"(i)"/ n/are/"(you)"/
9657d8fb588SMatthias Schmidt
9667d8fb588SMatthias Schmidtcomplete chown	c/--/"(changes dereference no-dereference silent \
9677d8fb588SMatthias Schmidt		    quiet reference recursive verbose help version)"/ \
9687d8fb588SMatthias Schmidt		    c/-/"(c f h R v -)"/ C@[./\$~]@f@ c/*[.:]/g/ \
9697d8fb588SMatthias Schmidt		    n/-/u/: p/1/u/: n/*/f/
9707d8fb588SMatthias Schmidtcomplete chgrp	c/--/"(changes no-dereference silent quiet reference \
9717d8fb588SMatthias Schmidt		    recursive verbose help version)"/ \
9727d8fb588SMatthias Schmidt		    c/-/"(c f h R v -)"/ n/-/g/ p/1/g/ n/*/f/
9737d8fb588SMatthias Schmidtcomplete chmod	c/--/"(changes silent quiet verbose reference \
9747d8fb588SMatthias Schmidt		    recursive help version)"/ c/-/"(c f R v)"/
9757d8fb588SMatthias Schmidtcomplete df		c/--/"(all block-size human-readable si inodes \
9767d8fb588SMatthias Schmidt		    kilobytes local megabytes no-sync portability sync \
9777d8fb588SMatthias Schmidt		    type print-type exclude-type help version)"/ \
9787d8fb588SMatthias Schmidt		    c/-/"(a H h i k l m P T t v x)"/
9797d8fb588SMatthias Schmidtcomplete du		c/--/"(all block-size bytes total dereference-args \
9807d8fb588SMatthias Schmidt		    human-readable si kilobytes count-links dereference \
9817d8fb588SMatthias Schmidt		    megabytes separate-dirs summarize one-file-system \
9827d8fb588SMatthias Schmidt		    exclude-from exclude max-depth help version"/ \
9837d8fb588SMatthias Schmidt		    c/-/"(a b c D H h k L l m S s X x)"/
9847d8fb588SMatthias Schmidt
9857d8fb588SMatthias Schmidtcomplete cat	c/--/"(number-nonblank number squeeze-blank show-all \
9867d8fb588SMatthias Schmidt		    show-nonprinting show-ends show-tabs help version)"/ \
9877d8fb588SMatthias Schmidt		    c/-/"(A b E e n s T t u v -)"/ n/*/f/
9887d8fb588SMatthias Schmidtcomplete mv		c/--/"(backup force interactive update verbose suffix \
9897d8fb588SMatthias Schmidt		    version-control help version)"/ \
9907d8fb588SMatthias Schmidt		    c/-/"(b f i S u V v -)"/ \
9917d8fb588SMatthias Schmidt		    n/{-S,--suffix}/x:'<suffix>'/ \
9927d8fb588SMatthias Schmidt		    n/{-V,--version-control}/"(t numbered nil existing \
9937d8fb588SMatthias Schmidt		    never simple)"/ n/-/f/ N/-/d/ p/1/f/ p/2/d/ n/*/f/
9947d8fb588SMatthias Schmidtcomplete cp		c/--/"(archive backup no-dereference force \
9957d8fb588SMatthias Schmidt		    interactive link preserve parents sparse recursive \
9967d8fb588SMatthias Schmidt		    symbolic-link suffix update verbose version-control \
9977d8fb588SMatthias Schmidt		    one-file-system help version)"/ \
9987d8fb588SMatthias Schmidt		    c/-/"(a b d f i l P p R r S s u V v x -)"/ \
9997d8fb588SMatthias Schmidt		    n/-*r/d/ n/{-S,--suffix}/x:'<suffix>'/ \
10007d8fb588SMatthias Schmidt		    n/{-V,--version-control}/"(t numbered nil existing \
10017d8fb588SMatthias Schmidt		    never simple)"/ n/-/f/ N/-/d/ p/1/f/ p/2/d/ n/*/f/
10027d8fb588SMatthias Schmidtcomplete ln		c/--/"(backup directory force no-dereference \
10037d8fb588SMatthias Schmidt		    interactive symbolic suffix verbose version-control \
10047d8fb588SMatthias Schmidt		    help version)"/ \
10057d8fb588SMatthias Schmidt		    c/-/"(b d F f i n S s V v -)"/ \
10067d8fb588SMatthias Schmidt		    n/{-S,--suffix}/x:'<suffix>'/ \
10077d8fb588SMatthias Schmidt		    n/{-V,--version-control}/"(t numbered nil existing \
1008653fab9eSSascha Wildner		    never simple)"/ n/-*/f/ N/-*/x:'<link_name>'/ \
10097d8fb588SMatthias Schmidt		    p/1/f/ p/2/x:'<link_name>'/
10107d8fb588SMatthias Schmidtcomplete touch	c/--/"(date reference time help version)"/ \
10117d8fb588SMatthias Schmidt		    c/-/"(a c d f m r t -)"/ \
10127d8fb588SMatthias Schmidt		    n/{-d,--date}/x:'<date_string>'/ \
10137d8fb588SMatthias Schmidt		    c/--time/"(access atime mtime modify use)"/ \
10147d8fb588SMatthias Schmidt		    n/{-r,--file}/f/ n/-t/x:'<time_stamp>'/ n/*/f/
10157d8fb588SMatthias Schmidtcomplete mkdir	c/--/"(mode parents verbose help version)"/ \
10167d8fb588SMatthias Schmidt		    c/-/"(p m -)"/ \
10177d8fb588SMatthias Schmidt		    n/{-m,--mode}/x:'<mode>'/ n/*/d/
10187d8fb588SMatthias Schmidtcomplete rmdir	c/--/"(ignore-fail-on-non-empty parents verbose help \
10197d8fb588SMatthias Schmidt		    version)"/ c/-/"(p -)"/ n/*/d/
10207d8fb588SMatthias Schmidtcomplete env 	'c/*=/f/' 'p/1/e/=/' 'p/2/c/'
10217d8fb588SMatthias Schmidt
10227d8fb588SMatthias Schmidtcomplete tar	c/-[Acru]*/"(b B C f F g G h i l L M N o P \
10237d8fb588SMatthias Schmidt		    R S T v V w W X z Z)"/ \
10247d8fb588SMatthias Schmidt		    c/-[dtx]*/"( B C f F g G i k K m M O p P \
10257d8fb588SMatthias Schmidt		    R s S T v w x X z Z)"/ \
10267d8fb588SMatthias Schmidt		    p/1/"(A c d r t u x -A -c -d -r -t -u -x \
10277d8fb588SMatthias Schmidt		    --catenate --concatenate --create --diff --compare \
10287d8fb588SMatthias Schmidt		    --delete --append --list --update --extract --get \
10297d8fb588SMatthias Schmidt		    --help --version)"/ \
10307d8fb588SMatthias Schmidt		    c/--/"(catenate concatenate create diff compare \
10317d8fb588SMatthias Schmidt		    delete append list update extract get atime-preserve \
10327d8fb588SMatthias Schmidt		    block-size read-full-blocks directory checkpoint file \
10337d8fb588SMatthias Schmidt		    force-local info-script new-volume-script incremental \
10347d8fb588SMatthias Schmidt		    listed-incremental dereference ignore-zeros \
10357d8fb588SMatthias Schmidt		    ignore-failed-read keep-old-files starting-file \
10367d8fb588SMatthias Schmidt		    one-file-system tape-length modification-time \
10377d8fb588SMatthias Schmidt		    multi-volume after-date newer old-archive portability \
10387d8fb588SMatthias Schmidt		    to-stdout same-permissions preserve-permissions \
10397d8fb588SMatthias Schmidt		    absolute-paths preserve record-number remove-files \
10407d8fb588SMatthias Schmidt		    same-order preserve-order same-owner sparse \
10417d8fb588SMatthias Schmidt		    files-from null totals verbose label version \
10427d8fb588SMatthias Schmidt		    interactive confirmation verify exclude exclude-from \
10437d8fb588SMatthias Schmidt		    compress uncompress gzip ungzip use-compress-program \
10447d8fb588SMatthias Schmidt		    block-compress help version)"/ \
10457d8fb588SMatthias Schmidt		    c/-/"(b B C f F g G h i k K l L m M N o O p P R s S \
10467d8fb588SMatthias Schmidt		    T v V w W X z Z 0 1 2 3 4 5 6 7 -)"/ \
10477d8fb588SMatthias Schmidt		    C@/dev@f@ \
10487d8fb588SMatthias Schmidt		    n/-c*f/x:'<new_tar_file, device_file, or "-">'/ \
10497d8fb588SMatthias Schmidt		    n/{-[Adrtux]j*f,--file}/f:*.{tar.bz2,tbz}/ \
10507d8fb588SMatthias Schmidt		    n/{-[Adrtux]z*f,--file}/f:*.{tar.gz,tgz}/ \
10517d8fb588SMatthias Schmidt		    n/{-[Adrtux]Z*f,--file}/f:*.{tar.Z,taz}/ \
10527d8fb588SMatthias Schmidt		    n/{-[Adrtux]*f,--file}/f:*.tar/ \
10537d8fb588SMatthias Schmidt		    N/{-xj*f,--file}/'`tar -tjf $:-1`'/ \
10547d8fb588SMatthias Schmidt		    N/{-xz*f,--file}/'`tar -tzf $:-1`'/ \
10557d8fb588SMatthias Schmidt		    N/{-xZ*f,--file}/'`tar -tZf $:-1`'/ \
10567d8fb588SMatthias Schmidt		    N/{-x*f,--file}/'`tar -tf $:-1`'/ \
10577d8fb588SMatthias Schmidt		    n/--use-compress-program/c/ \
10587d8fb588SMatthias Schmidt		    n/{-b,--block-size}/x:'<block_size>'/ \
10597d8fb588SMatthias Schmidt		    n/{-V,--label}/x:'<volume_label>'/ \
10607d8fb588SMatthias Schmidt		    n/{-N,--{after-date,newer}}/x:'<date>'/ \
10617d8fb588SMatthias Schmidt		    n/{-L,--tape-length}/x:'<tape_length_in_kB>'/ \
10627d8fb588SMatthias Schmidt		    n/{-C,--directory}/d/ \
10637d8fb588SMatthias Schmidt		    N/{-C,--directory}/'`\ls $:-1`'/ \
10647d8fb588SMatthias Schmidt		    n/-[0-7]/"(l m h)"/
10657d8fb588SMatthias Schmidt
106657e3f2b5SSimon 'corecode' Schubertswitch ( "$OSTYPE" )
106760962bbcSJohn Marinocase linux:
10687d8fb588SMatthias Schmidt  # Linux filesystems
10697d8fb588SMatthias Schmidt  complete  mount	c/-/"(a f F h l n o r s t U v V w)"/ n/-[hV]/n/ \
10707d8fb588SMatthias Schmidt		    n/-o/x:'<options>'/ n/-t/x:'<vfstype>'/ \
10717d8fb588SMatthias Schmidt		    n/-L/x:'<label>'/ n/-U/x:'<uuid>'/ \
10727d8fb588SMatthias Schmidt		    n@*@'`grep -v "^#" /etc/fstab | tr -s " " "	 " | cut -f 2`'@
10737d8fb588SMatthias Schmidt  complete umount	c/-/"(a h n r t v V)"/ n/-t/x:'<vfstype>'/ \
10747d8fb588SMatthias Schmidt		      n/*/'`mount | cut -d " " -f 3`'/
107557e3f2b5SSimon 'corecode' Schubert  breaksw
107660962bbcSJohn Marinocase sunos*:
107760962bbcSJohn Marinocase solaris:
10787d8fb588SMatthias Schmidt  # Solaris filesystems
107957e3f2b5SSimon 'corecode' Schubert  complete  mount	c/-/"(a F m o O p r v V)"/ n/-p/n/ n/-v/n/ \
108057e3f2b5SSimon 'corecode' Schubert		    n/-o/x:'<FSType_options>'/ \
108157e3f2b5SSimon 'corecode' Schubert		    n@-F@'`\ls -1 /usr/lib/fs`'@ \
108257e3f2b5SSimon 'corecode' Schubert		    n@*@'`grep -v "^#" /etc/vfstab | tr -s " " "	 " | cut -f 3`'@
108357e3f2b5SSimon 'corecode' Schubert  complete umount	c/-/"(a o V)"/ n/-o/x:'<FSType_options>'/ \
108457e3f2b5SSimon 'corecode' Schubert		    n/*/'`mount | cut -d " " -f 1`'/
108557e3f2b5SSimon 'corecode' Schubert  complete  mountall	c/-/"(F l r)"/ n@-F@'`\ls -1 /usr/lib/fs`'@
108657e3f2b5SSimon 'corecode' Schubert  complete umountall	c/-/"(F h k l r s)"/ n@-F@'`\ls -1 /usr/lib/fs`'@ \
108757e3f2b5SSimon 'corecode' Schubert		    n/-h/'`df -k | cut -s -d ":" -f 1 | sort -u`'/
108857e3f2b5SSimon 'corecode' Schubert  breaksw
108960962bbcSJohn Marinocase cygwin:
109057e3f2b5SSimon 'corecode' Schubert  # Cygwin mounts
109157e3f2b5SSimon 'corecode' Schubert  complete  mount	c/-/"(b c f h m o p s t u v x E X)"/ n/-[hmpv]/n/ \
109257e3f2b5SSimon 'corecode' Schubert		    n/-c/x:'/'/ \
109357e3f2b5SSimon 'corecode' Schubert		    n/-o/"(user system binary text exec notexec cygexec nosuid managed)"/ \
109457e3f2b5SSimon 'corecode' Schubert		    n@*@'`mount -p | tail -1 | cut -d " " -f 1 | xargs ls -1 | awk '"'"'{print $1":/"; } END{print "//";}'"'"'`'@
109557e3f2b5SSimon 'corecode' Schubert  complete umount	c/-/"(A c h s S u U v)"/ n/-[AhSUv]/n/ \
109657e3f2b5SSimon 'corecode' Schubert		    n@*@'`mount | grep -v noumount | cut -d " " -f 3`'@
109757e3f2b5SSimon 'corecode' Schubert  breaksw
109857e3f2b5SSimon 'corecode' Schubertendsw
10997d8fb588SMatthias Schmidt
11007d8fb588SMatthias Schmidt# these deal with NIS (formerly YP); if it's not running you don't need 'em
11017d8fb588SMatthias Schmidtif (-X domainname) then
11027d8fb588SMatthias Schmidt  set _domain = "`domainname`"
11037d8fb588SMatthias Schmidt  set _ypdir  = /var/yp	# directory where NIS (YP) maps are kept
11047d8fb588SMatthias Schmidt  if ("$_domain" != "" && "$_domain" != "noname") then
11057d8fb588SMatthias Schmidt    complete domainname p@1@D:$_ypdir@" " n@*@n@
11067d8fb588SMatthias Schmidt    complete ypcat	    c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
11077d8fb588SMatthias Schmidt			N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@ \
11087d8fb588SMatthias Schmidt			n@*@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@
11097d8fb588SMatthias Schmidt    complete ypmatch    c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
11107d8fb588SMatthias Schmidt			N@-d@x:'<key ...>'@ n@-@x:'<key ...>'@ p@1@x:'<key ...>'@ \
11117d8fb588SMatthias Schmidt			n@*@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@
11127d8fb588SMatthias Schmidt    complete ypwhich    c@-@"(d m t x V1 V2)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
11137d8fb588SMatthias Schmidt			n@-m@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@ \
11147d8fb588SMatthias Schmidt			N@-m@n@ n@*@\$hosts@
11157d8fb588SMatthias Schmidt  endif
11167d8fb588SMatthias Schmidt  unset _domain _ypdir
11177d8fb588SMatthias Schmidtendif
11187d8fb588SMatthias Schmidt
11197d8fb588SMatthias Schmidtcomplete make \
11207d8fb588SMatthias Schmidt    'n/-f/f/' \
11217d8fb588SMatthias Schmidt    'c/*=/f/' \
11227d8fb588SMatthias Schmidt    'n@*@`cat -s GNUmakefile Makefile makefile |& sed -n -e "/No such file/d" -e "/^[^     #].*:/s/:.*//p"`@'
11237d8fb588SMatthias Schmidt
11247d8fb588SMatthias Schmidtif ( -f /etc/printcap ) then
11257d8fb588SMatthias Schmidt    set printers=(`sed -n -e "/^[^     #].*:/s/:.*//p" /etc/printcap`)
11267d8fb588SMatthias Schmidt
11277d8fb588SMatthias Schmidt    complete lpr    'c/-P/$printers/'
11287d8fb588SMatthias Schmidt    complete lpq    'c/-P/$printers/'
11297d8fb588SMatthias Schmidt    complete lprm   'c/-P/$printers/'
11307d8fb588SMatthias Schmidt    complete lpquota        'p/1/(-Qprlogger)/' 'c/-P/$printers/'
11317d8fb588SMatthias Schmidt    complete dvips  'c/-P/$printers/' 'n/-o/f:*.{ps,PS}/' 'n/*/f:*.dvi/'
11327d8fb588SMatthias Schmidt    complete dvilj	'p/*/f:*.dvi/'
11337d8fb588SMatthias Schmidtendif
11347d8fb588SMatthias Schmidt
11357d8fb588SMatthias Schmidt# From Alphonse Bendt
11367d8fb588SMatthias Schmidtcomplete ant \
11377d8fb588SMatthias Schmidt     'n/-f/f:*.xml/' \
11387d8fb588SMatthias Schmidt	  'n@*@`cat build.xml | sed -n -e "s/[ \t]*<target[\t\n]*name=.\([a-zA-Z0-9_:]*\).*/\1/p"`@'
11397d8fb588SMatthias Schmidt
11407d8fb588SMatthias Schmidtif ($?P4CLIENT && -X perl) then
11417d8fb588SMatthias Schmidt    # This is from Greg Allen.
11427d8fb588SMatthias Schmidt    set p4cmds=(add branch branches commands change changes client clients \
11437d8fb588SMatthias Schmidt	counter counters delete depot depots describe diff diff2 \
11447d8fb588SMatthias Schmidt	edit filelog files fix fixes fstat group groups have help \
11457d8fb588SMatthias Schmidt	info integrate integrated job jobs jobspec label labels \
11467d8fb588SMatthias Schmidt	labelsync lock obliterate opened passwd print protect rename \
11477d8fb588SMatthias Schmidt	reopen resolve resolved revert review reviews set submit \
11487d8fb588SMatthias Schmidt	sync triggers unlock user users verify where)
11497d8fb588SMatthias Schmidt    complete p4 'p/1/$p4cmds/' 'n/help/$p4cmds/' \
11507d8fb588SMatthias Schmidt	'n%{-l,label}%`p4 labels | sed "s/Label \([^ ]*\) .*/\1/"`%' \
11517d8fb588SMatthias Schmidt	'n%-t%`p4 $:1s | sed "s/[^ ]* \([^ ]*\) .*/\1/"`%' \
11527d8fb588SMatthias Schmidt	'c%*@%`p4 labels | sed "s/Label \([^ ]*\) .*/\1/"`%' \
11537d8fb588SMatthias Schmidt	'c@//*/*@`p4 files $:-0... |& perl -nle "m%\Q$:-0\E([^#][^/# ] \
11547d8fb588SMatthias Schmidt	*)%;print "\$"1 if \\\!/no such/&&\!"\$"h{"\$"1}++"`@@' \
11557d8fb588SMatthias Schmidt	'c@//@`p4 depots | sed "s/Depot \([^ ]*\) .*/\1/"`@/@'
11567d8fb588SMatthias Schmidtendif
11577d8fb588SMatthias Schmidt
11587d8fb588SMatthias Schmidt
11597d8fb588SMatthias Schmidtif (! $?traditional_complete) then
11607d8fb588SMatthias Schmidt    uncomplete vi
11617d8fb588SMatthias Schmidt    uncomplete vim
11627d8fb588SMatthias Schmidt    complete {vi,vim,gvim,nvi,elvis} 	n/*/f:^*.{o,a,so,sa,aux,dvi,log,fig,bbl,blg,bst,idx,ilg,ind,toc}/
11637d8fb588SMatthias Schmidt    complete {ispell,spell,spellword}	'n@-d@`ls /usr/lib/ispell/*.aff | sed -e "s/\.aff//" `@' 'n/*/f:^*.{o,a,so,sa,aux,dvi,log,fig,bbl,blg,bst,idx,ilg,ind,toc}/'
11647d8fb588SMatthias Schmidt    complete elm	'n/-[Ai]/f/' 'c@=@F:$HOME/Mail/@' 'n/-s/x:\<subject\>/'
11657d8fb588SMatthias Schmidt    complete ncftp	'n@*@`sed -e '1,2d' $HOME/.ncftp/bookmarks | cut -f 1,2 -d "," | tr "," "\012" | sort | uniq ` '@
11667d8fb588SMatthias Schmidt    complete bibtex	'n@*@`ls *.aux | sed -e "s/\.aux//"`'@
11677d8fb588SMatthias Schmidt    complete dvi2tty	n/*/f:*.dvi/	# Only files that match *.dvi
11687d8fb588SMatthias Schmidt    uncomplete gv
11697d8fb588SMatthias Schmidt    uncomplete ghostview
11707d8fb588SMatthias Schmidt    complete {gv,ghostview}	'n/*/f:*.{ps,eps,epsi}/'
11717d8fb588SMatthias Schmidt    complete enscript \
11727d8fb588SMatthias Schmidt	    'c/--/(columns= pages= header= no-header truncate-lines \
11737d8fb588SMatthias Schmidt		    line-numbers setpagedevice= escapes font= \
11747d8fb588SMatthias Schmidt		    header-font= fancy-header no-job-header \
11757d8fb588SMatthias Schmidt		    highlight-bars indent= filter= borders page-prefeed \
11767d8fb588SMatthias Schmidt		    no-page-prefeed lineprinter lines-per-page= mail \
11777d8fb588SMatthias Schmidt		    media= copies= newline= output= missing-characters \
11787d8fb588SMatthias Schmidt		    printer= quiet silent landscape portrait \
11797d8fb588SMatthias Schmidt		    baselineskip= statusdict= title= tabsize= underlay= \
11807d8fb588SMatthias Schmidt		    verbose version encoding pass-through download-font= \
11817d8fb588SMatthias Schmidt		    filter-stdin= help highlight-bar-gray= list-media \
11827d8fb588SMatthias Schmidt		    list-options non-printable-format= page-label-format= \
11837d8fb588SMatthias Schmidt		    printer-options= ul-angle= ul-font= ul-gray= \
11847d8fb588SMatthias Schmidt		    ul-position= ul-style= \
11857d8fb588SMatthias Schmidt		 )/'
11867d8fb588SMatthias Schmidtendif
11877d8fb588SMatthias Schmidt
11887d8fb588SMatthias Schmidtcomplete dpkg \
11897d8fb588SMatthias Schmidt	    'c/--{admindir,instdir,root}=/d/' \
11907d8fb588SMatthias Schmidt	    'c/--debug=/n/' \
11917d8fb588SMatthias Schmidt	    'c/--{admindir,debug,instdir,root}/(=)//' \
11927d8fb588SMatthias Schmidt	    'c/--/(admindir= debug= instdir= root= \
11937d8fb588SMatthias Schmidt		    assert-support-predepends assert-working-epoch \
11947d8fb588SMatthias Schmidt		    audit auto-deconfigure clear-avail \
11957d8fb588SMatthias Schmidt		    compare-versions configure contents control \
11967d8fb588SMatthias Schmidt		    extract force-bad-path field \
11977d8fb588SMatthias Schmidt		    force-configure-any force-conflicts \
11987d8fb588SMatthias Schmidt		    force-depends force-depends-version force-help \
11997d8fb588SMatthias Schmidt		    force-hold force-non-root \
12007d8fb588SMatthias Schmidt		    force-overwrite-diverted \
12017d8fb588SMatthias Schmidt		    force-remove-essential force-remove-reinstreq \
12027d8fb588SMatthias Schmidt		    forget-old-unavail fsys-tarfile get-selections \
12037d8fb588SMatthias Schmidt		    help ignore-depends info install largemem \
12047d8fb588SMatthias Schmidt		    license list listfiles merge-avail no-act \
12057d8fb588SMatthias Schmidt		    pending predep-package print-architecture \
12067d8fb588SMatthias Schmidt		    print-gnu-build-architecture \
12077d8fb588SMatthias Schmidt		    print-installation-architecture print-avail \
12087d8fb588SMatthias Schmidt		    purge record-avail recursive refuse-downgrade \
12097d8fb588SMatthias Schmidt		    remove search set-selections selected-only \
12107d8fb588SMatthias Schmidt		    skip-same-version smallmem status unpack \
12117d8fb588SMatthias Schmidt		    update-avail version vextract \
12127d8fb588SMatthias Schmidt		  )//' \
12137d8fb588SMatthias Schmidt	    'n/{-l}/`dpkg -l|awk \{print\ \$2\}`/' \
12147d8fb588SMatthias Schmidt	    'n/*/f:*.deb'/
12157d8fb588SMatthias Schmidtcomplete dpkg-deb 	   'c/--{build}=/d/' \
12167d8fb588SMatthias Schmidt		       'c/--/(build contents info field control extract \
12177d8fb588SMatthias Schmidt			     vextract fsys-tarfile help version \
12187d8fb588SMatthias Schmidt			     license)//' \
12197d8fb588SMatthias Schmidt		       'n/*/f:*.deb/'
12207d8fb588SMatthias Schmidtcomplete apt-get \
12217d8fb588SMatthias Schmidt	    'c/--/(build config-file diff-only download-only \
12227d8fb588SMatthias Schmidt	       fix-broken fix-missing force-yes help ignore-hold no-download \
12237d8fb588SMatthias Schmidt	       no-upgrade option print-uris purge reinstall quiet simulate \
12247d8fb588SMatthias Schmidt	       show-upgraded target-release tar-only version yes )/' \
12257d8fb588SMatthias Schmidt	    'c/-/(b c= d f h m o= q qq s t x y )/' \
12267d8fb588SMatthias Schmidt	    'n/{source,build-dep}/x:<pkgname>/' \
12277d8fb588SMatthias Schmidt	    'n/{remove}/`dpkg -l|grep ^ii|awk \{print\ \$2\}`/' \
12287d8fb588SMatthias Schmidt	    'n/{install}/`apt-cache pkgnames | sort`/' \
12297d8fb588SMatthias Schmidt	    'C/*/(update upgrade dselect-upgrade source \
12307d8fb588SMatthias Schmidt	       build-dep check clean autoclean install remove)/'
12317d8fb588SMatthias Schmidtcomplete apt-cache \
12327d8fb588SMatthias Schmidt	    'c/--/(all-versions config-file generate full help important \
12337d8fb588SMatthias Schmidt	    names-only option pkg-cache quiet recurse src-cache version )/' \
12347d8fb588SMatthias Schmidt	    'c/-/(c= h i o= p= q s= v)/' \
12357d8fb588SMatthias Schmidt	    'n/{search}/x:<regex>/' \
12367d8fb588SMatthias Schmidt	    'n/{pkgnames,policy,show,showpkg,depends,dotty}/`apt-cache pkgnames | sort`/' \
12377d8fb588SMatthias Schmidt	    'C/*/(add gencaches showpkg stats dump dumpavail unmet show \
12387d8fb588SMatthias Schmidt	    search depends pkgnames dotty policy )/'
12397d8fb588SMatthias Schmidt
124060962bbcSJohn Marinoswitch ( "${OSTYPE}" )
124160962bbcSJohn Marinocase FreeBSD:
124260962bbcSJohn Marino  set commands=()
124360962bbcSJohn Marino  foreach p (fast force one quiet "")
124460962bbcSJohn Marino    foreach c (enabled poll rcvar reload restart start status stop)
124560962bbcSJohn Marino      set commands=($commands $p$c)
124660962bbcSJohn Marino    end
124760962bbcSJohn Marino  end
124860962bbcSJohn Marino  complete service \
124960962bbcSJohn Marino    n/-R/n/ \
125060962bbcSJohn Marino    n/-e/n/ \
125160962bbcSJohn Marino    n/-l/n/ \
125260962bbcSJohn Marino    n/-r/n/ \
125360962bbcSJohn Marino    c/-/"(R e l r v)"/ \
125460962bbcSJohn Marino    p/2/"($commands)"/ \
125560962bbcSJohn Marino    p@1@'`service -l`'@
125660962bbcSJohn Marino  unset commands c p
125760962bbcSJohn Marino  breaksw
125860962bbcSJohn Marinocase linux:
125960962bbcSJohn Marino  if ( -d /etc/init.d ) then
126060962bbcSJohn Marino    set rcdir=/etc/init.d/
126160962bbcSJohn Marino  else
126260962bbcSJohn Marino    set rcdir=/etc/rc.d/
12637d8fb588SMatthias Schmidt  endif
126460962bbcSJohn Marino  complete service \
126560962bbcSJohn Marino    p/2/"(--full-restart force-reload reload restart start stop status)"/ \
126660962bbcSJohn Marino    c/--/"(help status-all version)"/ \
126760962bbcSJohn Marino    c/-/"(- h)"/ \
126860962bbcSJohn Marino    p@1@F:$rcdir@
126960962bbcSJohn Marino  unset rcdir
127060962bbcSJohn Marino  breaksw
127160962bbcSJohn Marinoendsw
127260962bbcSJohn Marino
127360962bbcSJohn Marinoif ( $?_unset_noglob ) unset noglob _unset_noglob
12747d8fb588SMatthias Schmidt
12757d8fb588SMatthias Schmidtend:
127660962bbcSJohn Marinounset _has_complete
12777d8fb588SMatthias Schmidtonintr
1278