init.completions.patch [plain text]
--- init/completions.old 2007-02-23 16:12:16.000000000 -0800
+++ init/completions 2007-02-19 23:58:17.000000000 -0800
@@ -0,0 +1,264 @@
+##
+# TCSH Expanded C-Shell INITIALIZATION FILE
+# Completions file
+#
+# Wilfredo Sanchez Jr. | tritan@mit.edu
+# June 10, 1994
+#
+# MIT Project Athena
+#
+# Some of these are borrowed from complete.tcsh in the tcsh source tree
+# and from several other sources.
+##
+# Syntax:
+# <command>/<match-pattern>/<complete-action>/[<suffix>|/]
+#
+# Commands:
+# p = position
+# n,N = next-word
+# c,C = current-word
+##
+
+# Directories
+complete {cd,chdir,popd,pushd} 'p/1/d/'
+complete files 'p/1/d/'
+complete {mkdir,rmdir} 'p/1/d/'
+
+# Commands
+complete man 'n/-M/d/' 'p/*/c/'
+complete {where,which} 'p/1/c/'
+complete exec 'p/1/c/'
+complete {trace,strace} 'p/1/c/'
+
+# Aliases
+complete alias 'p/1/a/' 'p/2/c/'
+complete unalias 'p/*/a/'
+
+# Jobs, Processes
+complete kill 'c/%/j/' 'c/-/S/' 'p/1/(% -)/'
+complete {fg,bg,stop} 'c/%/j/' 'p/1/(%)//'
+
+# Limits
+complete {limit,unlimit} 'c/-/(h)/' 'n/*/l/'
+
+# Variables
+complete printenv 'p/1/e/'
+complete set 'c/*=/f/' 'p/1/s/=' 'n/=/f/'
+complete unset 'p/*/s/'
+complete setenv 'p/1/e/'
+complete unsetenv 'p/*/e/'
+
+# Completions
+complete complete 'p/1/X/'
+complete uncomplete 'n/*/X/'
+
+# Bindings
+complete bindkey 'p/2/b/'
+
+# Files by extension
+complete gunzip 'p/*/f:*.{gz,tgz}/'
+complete rm 'p/*/f/' 'c/-/(r f)/'
+complete {tar,gtar,gnutar} 'p/1/(xvf cvf tvf)//' 'p/2-/f/'
+complete {uncompress,zcat,gzcat} 'p/*/f:*.{Z,gz}/'
+complete unzip 'p/*/f:*.zip/'
+
+# Hosts
+complete finger 'c/*@/`list_all_hostnames`/' 'n/*/u/@'
+complete {ftp,ncftp,telnet} 'p/*/`list_all_hostnames`/'
+complete {ping,traceroute} 'p/*/`list_all_hostnames`/'
+complete rlogin 'p/1/`list_all_hostnames`/' 'c/-/(l 8 e)/' 'n/-l/u/'
+complete rsh 'p/1/`list_all_hostnames`/' 'c/-/(l n)/' 'n/-l/u/' 'N/-l/c/' 'n/-/c/' 'p/2/c/' 'p/*/f/'
+complete ssh \
+ 'c/-/(a A c C e f g k n N o p P q t T v x X 2 4 6)/' \
+ 'n/-c/(arcfour blowfish blowfish-cbc cast128-cbc none 3des 3des-cbc)/' \
+ 'n/-e/(ch ^ch none)/' \
+ 'n/-i/f/' \
+ 'n/-l/u/' \
+ 'n/-{o,p,L,R}/()/' \
+ 'c/*:/`list_all_hostnames`/:' \
+ 'c/*@/`list_all_hostnames`/' \
+ 'p/*/`list_all_hostnames`/'
+
+# Override this with something smarter if you wish
+alias list_all_hostnames 'grep -v "^#" /etc/hosts'
+
+# Users and Groups
+complete chmod 'p/1/(u g o a)//' \
+ 'n/-R/(u g o a)//'
+complete chgrp 'p/1/g/' 'n/-R/g/' 'p/*/f/'
+complete chown 'p/1/u/' 'n/-R/u/' 'p/*/f/'
+
+complete su 'c/-/(f l m K)/' \
+ 'p/1/u/' \
+ 'n/-[flmK]/u/'
+
+complete sudo 'n/-u/u/' \
+ 'n/-p/n/' \
+ 'n/-V/n/' \
+ 'n/-c/(-)/' \
+ 'n/-H/d/' \
+ 'c/-/(V h l L v k K s H S b p c u -)/' \
+ 'p/1/c/' \
+ 'n/-[hlLvkKsSb-]/c/' \
+ 'N/-[upcH]/c/'
+
+# URLs
+complete {lynx,netscape,wget} 'p|1|(ftp:// gopher:// http:// https:// mailto: news: wais:// )||'
+
+##
+# Misc
+##
+
+complete {configure,./configure} \
+ 'c@{--target=,--host=}@`cat /tmp/architectures`@' \
+ 'c/--/(help quiet silent version no-create \
+ target= build= host= \
+ prefix= exec-prefix= bindir= sbindir= libdir= libexecdir= \
+ includedir= infodir= mandir= srcdir= \
+ datadir= sysconfdir= sharedstatedir= localstatedir= \
+ program-prefix= program-suffix= program-transform-name= \
+ x-includes= x-libraries= \
+ with-cc= with-ccopts= with-linker= with-ldopts= with-cppopts= \
+ disable- enable- enable-shared with- without-)//'
+
+#set cvs_cmds = (add admin annotate checkout commit diff edit editors export \
+# history import init log login rdiff patch release remove rtag status tag \
+# unedit update watch watchers)
+#set cvs_opts = (-H -Q -q -r -w -l -n -t -v -b -T -e -d -f -z -a -s)
+#set cvs_opts_cmds = (${cvs_opts} ${cvs_cmds} --help --help-options --help-commands --version)
+#complete cvs \
+# "n/cvs/(${cvs_opts_cmds})/" \
+# "n/-[HQqrwlntvdfas]/(${cvs_opts_cmds})/" \
+# 'n/-[bT]/d/' 'n/-e/c/' 'n/-z/(1 9)/' \
+# "N/-[bTez]/(${cvs_opts_cmds})/" \
+# "n/--help/(${cvs_cmds})/" \
+# 'n/add/(-k -m `ls`)/' \
+# 'n/annotate/(-l -R -f -r -D `ls`)/' \
+# 'n/checkout/(-A -N -P -R -c -f -l -n -p -s -d -D -j -k)/' \
+# 'n/commit/(-n -R -l -f -m -F -r `ls`)/' \
+# 'n/diff/(-l -N -R -r -D --ifdef= `ls`)/' \
+# 'n/edit/(-l -R -a `ls`)/' \
+# 'n/editors/(-l -R `ls`)/' \
+# 'n/export/(-N -R -f -l -n -D -d -k)/' \
+# 'n/history/(-T -c -o -m -a -e -l -w -D -b -f -p -r -u -z `ls`)/' \
+# 'n/import/(-d -k -I -m -b)/' \
+# 'n/log/(-l -R -h -t -N -b -r -d -s `ls`)/' \
+# 'n/rdiff/(-f -l -R -c -u -s -t -V)/' \
+# 'n/release/(-d)/' \
+# 'n/remove/(-f -l -R)/' \
+# 'n/rtag/(-a -f -l -R -n -F -b -d -r -D)/' \
+# 'n/status/`ls && echo -v -l -R`/' \
+# 'n/tag/(-l -R -F -b -d -c -r -D `ls`)/' \
+# 'n/unedit/(-l -R -a `ls`)/' \
+# 'n/update/(-A -P -d -f -l -R -p -k -r -D -j -I -W `ls`)/' \
+# 'n/watch/(on off add remove -l -R -a `ls`)/' \
+# 'n/watchers/(-l -R `ls`)/' \
+# 'n/-a/(edit unedit commit all none)/'
+#unset cvs_cmds cvs_opts cvs_opts_cmds
+
+complete dd \
+ 'c/--/(help version)/' \
+ 'c/[io]f=/f/' \
+ 'c/conv=*,/(ascii ebcdic ibm block unblock lcase ucase swab noerror sync)/,' \
+ 'c/conv=/(ascii ebcdic ibm block unblock lcase ucase swab noerror sync)/,' \
+ 'c/*=/x:<number>/' \
+ 'n/*/(if of conv ibs obs bs cbs files skip file seek count)/='
+
+complete defaults \
+ 'c/-/(currentHost host)/' \
+ 'n/-host/`list_all_hostnames`/' \
+ 'n/read/`defaults domains`/' \
+ 'n/read-type/`defaults domains`/' \
+ 'n/write/`defaults domains`/' \
+ 'n/rename/`defaults domains`/' \
+ 'n/delete/`defaults domains`/' \
+ 'p/1/(read read-type write rename delete domains find help)/'
+
+complete find \
+ 'n/-fstype/(nfs 4.2)/' \
+ 'n/-name/f/' 'n/-user/u/' 'n/-group/g/' \
+ 'n/-type/(c b d f p l s)/' \
+ 'n/-exec/c/' \
+ 'n/-ok/c/' 'n/-cpio/f/' 'n/-ncpio/f/' 'n/-newer/f/' \
+ 'c/-/(fstype name perm prune type user nouser group \
+ nogroup size inum atime mtime ctime exec ok \
+ print ls cpio ncpio newer xdev depth daystart \
+ follow maxdepth mindepth noleaf version anewer \
+ cnewer amin cmin mmin true false uid gid ilname \
+ iname ipath iregex links lname empty path regex \
+ used xtype fprint fprint0 fprintf print0 printf \
+ not a and o or)/' \
+ 'n/*/d/'
+
+if (! $?framework_path) then
+ set framework_path = ()
+
+ foreach dir ( \
+ /Network/Library/Frameworks \
+ /Local/Library/Frameworks \
+ /Library/Frameworks \
+ /System/Library/Frameworks \
+ /LocalLibrary/Frameworks \
+ /NextLibrary/Frameworks \
+ ~/Library/Frameworks \
+ )
+ if ( -d "${dir}" ) set framework_path = ( ${framework_path} "${dir}" )
+ end
+endif
+
+complete {gcc,g++,cc,c++} \
+ 'c/-[IL]/d/' \
+ 'c/-f/(caller-saves cse-follow-jumps delayed-branch elide-constructors \
+ expensive-optimizations float-store force-addr force-mem inline \
+ inline-functions keep-inline-functions memoize-lookups \
+ no-default-inline no-defer-pop no-function-cse \
+ omit-frame-pointer rerun-cse-after-loop schedule-insns \
+ schedule-insns2 strength-reduce thread-jumps unroll-all-loops \
+ unroll-loops syntax-only all-virtual cond-mismatch \
+ dollars-in-identifiers enum-int-equiv no-asm no-builtin \
+ no-strict-prototype signed-bitfields signed-char \
+ this-is-variable unsigned-bitfields unsigned-char \
+ writable-strings call-saved-reg call-used-reg fixed-reg \
+ no-common no-gnu-binutils nonnull-objects pcc-struct-return pic \
+ PIC shared-data short-enums short-double volatile ramework)/' \
+ 'c/-W/(all aggregate-return cast-align cast-qual comment conversion \
+ enum-clash error format id-clash-len implicit \
+ missing-prototypes no-parentheses pointer-arith return-type \
+ shadow strict-prototypes switch uninitialized unused \
+ write-strings)/' \
+ 'c/-m/(68000 68020 68881 bitfield fpa nobitfield rtd short c68000 \
+ c68020 soft-float g gnu unix fpu no-epilogue)/' \
+ 'c/-d/(D M N)/' \
+ 'c@-l@`ls -1 /usr/lib/lib* | sed s%^.\*/lib%%\;s%\\..\*\$%% | uniq`@' \
+ 'c/-/(f W vspec v vpath ansi traditional traditional-cpp trigraphs \
+ pedantic x o l c g L I D U O O2 O3 C E H B b V M MD MM i \
+ dynamic nodtdlib static nostdinc undef arch framework)/' \
+ 'n@-framework@`ls -1 ${framework_path} | grep .framework\$ | sed 's/\\.framework//' | uniq`@' \
+ 'n/-arch/(ppc i386)/' \
+ 'n/*/f:*.{c,C,cc,m,o,a,s,i}/'
+
+complete gdb 'c/-cd=/d/' \
+ 'n/-b/n/' \
+ 'c@-tty=@`ls -1 /dev/tty*`@' \
+ 'c/-symbols=/f/' 'n/-s/f/' \
+ 'c/-exec=/c/' 'n/-e/c/' 'n/-se/c/' \
+ 'c/-command=/f/' 'n/-x/f/' \
+ 'c/-core=/f/' 'n/-c/f/' \
+ 'c/-directory=/d/' 'n/-d/d/' \
+ 'c/-/(help nx n q batch b s se write e c x d quiet q fullname f)/'
+
+complete javac 'n/*/f:*.java/'
+
+complete nicl 'c/-/(ro p u P raw t q x500 \
+ read create delete rename list append merge insert \
+ move copy search path setrdn history stats domainname \
+ rparent resync auth refs)/' \
+ 'n/-u/u/' 'n/-auth/u/' 'n/-P/n/' \
+ 'n/-raw/d/'
+
+##
+# Read user's completions
+##
+if (-r "${tcsh_initdir}/completions.mine") then
+ source "${tcsh_initdir}/completions.mine"
+endif