aboutsummaryrefslogtreecommitdiffhomepage
path: root/init/completions
diff options
context:
space:
mode:
Diffstat (limited to 'init/completions')
-rw-r--r--init/completions/apm.fish8
-rw-r--r--init/completions/apropos.fish20
-rw-r--r--init/completions/apt-build.fish29
-rw-r--r--init/completions/apt-cache.fish33
-rw-r--r--init/completions/apt-cdrom.fish13
-rw-r--r--init/completions/apt-config.fish7
-rw-r--r--init/completions/apt-extracttemplates.fish7
-rw-r--r--init/completions/apt-file.fish17
-rw-r--r--init/completions/apt-ftparchive.fish17
-rw-r--r--init/completions/apt-get.fish64
-rw-r--r--init/completions/apt-key.fish5
-rw-r--r--init/completions/apt-listbugs.fish25
-rw-r--r--init/completions/apt-listchanges.fish13
-rw-r--r--init/completions/apt-move.fish23
-rw-r--r--init/completions/apt-proxy-import.fish10
-rw-r--r--init/completions/apt-rdepends.fish13
-rw-r--r--init/completions/apt-setup.fish4
-rw-r--r--init/completions/apt-show-source.fish10
-rw-r--r--init/completions/apt-show-versions.fish14
-rw-r--r--init/completions/apt-sortpkgs.fish7
-rw-r--r--init/completions/apt-spy.fish20
-rw-r--r--init/completions/apt-src.fish24
-rw-r--r--init/completions/apt-zip-inst.fish10
-rw-r--r--init/completions/apt-zip-list.fish13
-rw-r--r--init/completions/arp.fish11
-rw-r--r--init/completions/at.fish10
-rw-r--r--init/completions/atd.fish6
-rw-r--r--init/completions/atq.fish4
-rw-r--r--init/completions/atrm.fish2
-rw-r--r--init/completions/bc.fish9
-rw-r--r--init/completions/btdownloadcurses.py.fish2
-rw-r--r--init/completions/btdownloadheadless.py.fish34
-rw-r--r--init/completions/bunzip2.fish15
-rw-r--r--init/completions/bzcat.fish8
-rw-r--r--init/completions/bzip2.fish19
-rw-r--r--init/completions/bzip2recover.fish8
-rw-r--r--init/completions/cat.fish12
-rw-r--r--init/completions/cd.fish39
-rw-r--r--init/completions/chgrp.fish12
-rw-r--r--init/completions/chown.fish12
-rw-r--r--init/completions/commandline.fish12
-rw-r--r--init/completions/complete.fish13
-rw-r--r--init/completions/configure.fish12
-rw-r--r--init/completions/cut.fish10
-rw-r--r--init/completions/cvs.fish53
-rw-r--r--init/completions/date.fish11
-rw-r--r--init/completions/df.fish18
-rw-r--r--init/completions/diff.fish26
-rw-r--r--init/completions/du.fish20
-rw-r--r--init/completions/echo.fish5
-rw-r--r--init/completions/emacs.fish10
-rw-r--r--init/completions/fish.fish5
-rw-r--r--init/completions/function.fish4
-rw-r--r--init/completions/functions.fish6
-rw-r--r--init/completions/gcc.fish96
-rw-r--r--init/completions/gprof.fish34
-rw-r--r--init/completions/grep.fish47
-rw-r--r--init/completions/gunzip.fish25
-rw-r--r--init/completions/gzip.fish23
-rw-r--r--init/completions/help.fish29
-rw-r--r--init/completions/id.fish8
-rw-r--r--init/completions/ifconfig.fish25
-rw-r--r--init/completions/kill.fish35
-rw-r--r--init/completions/less.fish52
-rw-r--r--init/completions/ls.fish71
-rw-r--r--init/completions/make.fish23
-rw-r--r--init/completions/makedepend.fish13
-rw-r--r--init/completions/man.fish64
-rw-r--r--init/completions/mimedb.fish9
-rw-r--r--init/completions/modprobe.fish23
-rw-r--r--init/completions/mount.fish68
-rw-r--r--init/completions/mplayer.fish85
-rw-r--r--init/completions/mv.fish12
-rw-r--r--init/completions/nextd.fish1
-rw-r--r--init/completions/perl.fish20
-rw-r--r--init/completions/pine.fish26
-rw-r--r--init/completions/ping.fish30
-rw-r--r--init/completions/prevd.fish1
-rw-r--r--init/completions/ps.fish37
-rw-r--r--init/completions/pushd.fish1
-rw-r--r--init/completions/python.fish14
-rw-r--r--init/completions/read.fish7
-rw-r--r--init/completions/rm.fish11
-rw-r--r--init/completions/rmdir.fish8
-rw-r--r--init/completions/rpm.fish135
-rw-r--r--init/completions/ruby.fish25
-rw-r--r--init/completions/scp.fish35
-rw-r--r--init/completions/screen.fish37
-rw-r--r--init/completions/sed.fish12
-rw-r--r--init/completions/service.fish7
-rw-r--r--init/completions/set.fish45
-rw-r--r--init/completions/set_color.fish5
-rw-r--r--init/completions/sort.fish21
-rw-r--r--init/completions/ssh.fish106
-rw-r--r--init/completions/su.fish12
-rw-r--r--init/completions/tar.fish62
-rw-r--r--init/completions/test.fish39
-rw-r--r--init/completions/tokenize.fish3
-rw-r--r--init/completions/top.fish14
-rw-r--r--init/completions/touch.fish11
-rw-r--r--init/completions/uname.fish11
-rw-r--r--init/completions/uniq.fish15
-rw-r--r--init/completions/valgrind.fish72
-rw-r--r--init/completions/vared.fish3
-rw-r--r--init/completions/w.fish6
-rw-r--r--init/completions/wc.fish7
-rw-r--r--init/completions/wget.fish110
-rw-r--r--init/completions/whatis.fish3
-rw-r--r--init/completions/who.fish20
-rw-r--r--init/completions/xprop.fish32
-rw-r--r--init/completions/xsel.fish18
-rw-r--r--init/completions/yum.fish75
-rw-r--r--init/completions/zcat.fish10
-rw-r--r--init/completions/zip.fish32
114 files changed, 2695 insertions, 0 deletions
diff --git a/init/completions/apm.fish b/init/completions/apm.fish
new file mode 100644
index 00000000..ed7a32fd
--- /dev/null
+++ b/init/completions/apm.fish
@@ -0,0 +1,8 @@
+#apm
+complete -f -c apm -s V -l version -d "print version"
+complete -f -c apm -s v -l verbose -d "print APM info"
+complete -f -c apm -s m -l minutes -d "print time remaining"
+complete -f -c apm -s M -l monitor -d "monitor status info"
+complete -f -c apm -s S -l standby -d "request APM standby mode"
+complete -f -c apm -s s -l suspend -d "request APM suspend mode"
+complete -f -c apm -s d -l debug -d "APM status debuggin info"
diff --git a/init/completions/apropos.fish b/init/completions/apropos.fish
new file mode 100644
index 00000000..fed1336e
--- /dev/null
+++ b/init/completions/apropos.fish
@@ -0,0 +1,20 @@
+function __fish_complete_apropos
+ if test (commandline -ct)
+ set str (commandline -ct)
+ apropos $str|sed -e 's/^\(.*'$str'\([^ ]*\).*\)$/'$str'\2\t\1/'
+ end
+end
+
+complete -xc apropos -a "(__fish_complete_apropos)" -d "Whatis entry"
+
+complete -c apropos -s h -l help -d "apropos command help"
+complete -f -c apropos -s d -l debug -d "print debugging info"
+complete -f -c apropos -s v -l verbose -d "print verbose warning"
+complete -f -c apropos -s r -l regex -d "keyword as regex"
+complete -f -c apropos -s w -l wildcard -d "keyword as wildwards"
+complete -f -c apropos -s e -l exact -d "keyword as exactly match"
+complete -x -c apropos -s m -l system -d "search for other system"
+complete -x -c apropos -s M -l manpath -a "(echo $MANPATH)" -d "specify man path"
+complete -x -c apropos -s C -l config-file -d "specify a conf file"
+complete -f -c apropos -s V -l version -d "Display version"
+
diff --git a/init/completions/apt-build.fish b/init/completions/apt-build.fish
new file mode 100644
index 00000000..370474c2
--- /dev/null
+++ b/init/completions/apt-build.fish
@@ -0,0 +1,29 @@
+
+#apt-build
+complete -c apt-build -l help -d "apt-build command help"
+complete -f -c apt-build -a update -d "update list of packages"
+complete -f -c apt-build -a upgrade -d "upgrade packages"
+complete -f -c apt-bulid -a world -d "rebuild your system"
+complete -x -c apt-build -a install -d "build and install a new pkg"
+complete -x -c apt-build -a source -d "download and extract a src"
+complete -x -c apt-build -a info -d "info on a pkg"
+complete -x -c apt-build -a remove -d "remove packages"
+complete -x -c apt-build -a clean-build -d "erase built pkgs"
+complete -x -c apt-build -a build-source -d "build src without install"
+complete -x -c apt-build -a clean-sources -d "clean src dirs"
+complete -x -c apt-build -a update-source -d "update src and rebuild them"
+complete -x -c apt-build -a update-repository -d "update the repository"
+complete -f -c apt-build -l nowrapper -d "do not use gcc wrapper"
+complete -f -c apt-build -l remove-builddep -d "remove build-dep"
+complete -f -c apt-build -l no-source -d "do not download source"
+complete -f -c apt-build -l build-dir -d "specify build-dir"
+complete -f -c apt-build -l rebuild -d "rebuild a package"
+complete -f -c apt-build -l reinstall -d "rebuild and install an installed pkg"
+complete -r -f -c apt-build -l build-command -d "use <command> to build"
+complete -r -c apt-build -l patch -d "apply <file> patch"
+complete -c apt-build -s p -l patch-strip -d "prefix to strip on patch"
+complete -c apt-build -s y -l yes -d "assume yes"
+complete -c apt-build -l purge -d "use purge instead of remove"
+complete -c apt-build -l noupdate -d "do not run update"
+complete -r -c apt-build -l source-list -d "specify sources.list file"
+complete -f -c apt-build -s v -l version -d "show version"
diff --git a/init/completions/apt-cache.fish b/init/completions/apt-cache.fish
new file mode 100644
index 00000000..5e755af6
--- /dev/null
+++ b/init/completions/apt-cache.fish
@@ -0,0 +1,33 @@
+#apt-cache
+complete -c apt-cache -s h -l help -d "apt-cache command help"
+complete -c apt-cache -a add -d "add index files Debug only"
+complete -f -c apt-cache -a gencaches -d "build apt cache"
+complete -x -c apt-cache -a showpkg -d "show package info"
+complete -f -c apt-cache -a stats -d "show cache statistics"
+complete -x -c apt-cache -a showsrc -d "show source package"
+complete -f -c apt-cache -a dump -d "show packages in cache"
+complete -f -c apt-cache -a dumpavail -d "print available list"
+complete -f -c apt-cache -a unmet -d "list unmet dep in cache"
+complete -x -c apt-cache -a show -d "display package record"
+complete -x -c apt-cache -a search -d "search pkgname by REGEX"
+complete -c apt-cache -l full -a search -d "search full package name"
+complete -x -c apt-cache -l names-only -a search -d "search pkgname only"
+complete -x -c apt-cache -a depends -d "list dep for the package"
+complete -x -c apt-cache -a rdepends -d "list reverse dep for the package"
+complete -x -c apt-cache -a pkgnames -d "print package name by prefix"
+complete -x -c apt-cache -a dotty -d "generate dotty output for packages"
+complete -x -c apt-cache -a policy -d "debug preferences file"
+complete -x -c apt-cache -a madison -d "mimic madison"
+complete -r -c apt-cache -s p -l pkg-cache -d "select file to store pkg cache"
+complete -r -c apt-cache -s s -l src-cache -d "select file to store src cache"
+complete -f -c apt-cache -s q -l quiet -d "quiet output"
+complete -f -c apt-cache -s i -l important -d "print important deps"
+complete -f -c apt-cache -s a -l all-versions -d "print full records"
+complete -f -c apt-cache -s g -l generate -d "auto-gen package cache"
+complete -f -c apt-cache -l all-names -d "print all names"
+complete -f -c apt-cache -l recurse -d "dep and rdep recursive"
+complete -f -c apt-cache -l installed -d "limit to installed"
+complete -f -c apt-cache -s v -l version -d "show version"
+complete -r -c apt-cache -s c -l config-file -d "specify config file"
+complete -x -c apt-cache -s o -l option -d "specify options"
+
diff --git a/init/completions/apt-cdrom.fish b/init/completions/apt-cdrom.fish
new file mode 100644
index 00000000..12d9dab3
--- /dev/null
+++ b/init/completions/apt-cdrom.fish
@@ -0,0 +1,13 @@
+#apt-cdrom
+complete -c apt-cdrom -s h -l help -d "apt-cdrom command help"
+complete -r -c apt-cdrom -a add -d "add new disc to source list"
+complete -x -c apt-cdrom -a ident -d "report identity of disc"
+complete -r -c apt-cdrom -s d -l cdrom -d "mount point"
+complete -f -c apt-cdrom -s r -l rename -d "rename a disc"
+complete -f -c apt-cdrom -s m -l no-mount -d "no mounting"
+complete -f -c apt-cdrom -s f -l fast -d "fast copy"
+complete -f -c apt-cdrom -s a -l thorough -d "thorough pkg scan"
+complete -f -c apt-cdrom -s n -l no-act -d "no changes"
+complete -f -c apt-cdrom -s v -l version -d "show version"
+complete -r -c apt-cdrom -s c -l config-file -d "specify config file"
+complete -x -c apt-cdrom -s o -l option -d "specify options"
diff --git a/init/completions/apt-config.fish b/init/completions/apt-config.fish
new file mode 100644
index 00000000..6bc72c35
--- /dev/null
+++ b/init/completions/apt-config.fish
@@ -0,0 +1,7 @@
+#apt-config
+complete -c apt-config -s h -l help -d "apt-config command help"
+complete -c apt-config -a shell -d "access config file from shell"
+complete -f -c apt-config -a dump -d "dump contents of config file"
+complete -f -c apt-config -s v -l version -d "show version"
+complete -r -c apt-config -s c -l config-file -d "specify config file"
+complete -x -c apt-config -s o -l option -d "specify options"
diff --git a/init/completions/apt-extracttemplates.fish b/init/completions/apt-extracttemplates.fish
new file mode 100644
index 00000000..23bcff86
--- /dev/null
+++ b/init/completions/apt-extracttemplates.fish
@@ -0,0 +1,7 @@
+
+#apt-extracttemplates
+complete -c apt-extracttemplates -s h -l help -d "apt-extracttemplates command help"
+complete -r -c apt-extracttemplates -s t -d "set temp dir"
+complete -r -c apt-extracttemplates -s c -d "specifiy config file"
+complete -r -c apt-extracttemplates -s o -d "specify options"
+
diff --git a/init/completions/apt-file.fish b/init/completions/apt-file.fish
new file mode 100644
index 00000000..3a4ce193
--- /dev/null
+++ b/init/completions/apt-file.fish
@@ -0,0 +1,17 @@
+#apt-file
+complete -c apt-file -s h -l help -d "apt-file command help"
+complete -x -c apt-file -a update -d "resync pkg contents from source"
+complete -r -c apt-file -a search -d "search pkg containing pattern"
+complete -r -c apt-file -a list -d "list contents of a pkg matching pattern"
+complete -x -c apt-file -a purge -d "remove all gz files from cache"
+complete -r -c apt-file -s c -l cache -d "set cache dir"
+complete -f -c apt-file -s v -l verbose -d "run in verbose"
+complete -c apt-file -s d -l cdrom-mount -d "use cdrom-mount-point"
+complete -f -c apt-file -s i -l ignore-case -d "do not expand pattern"
+complete -f -c apt-file -s x -l regexp -d "pattern is regexp"
+complete -f -c apt-file -s V -l version -d "show version"
+complete -f -c apt-file -s a -l architecture -d "set arch"
+complete -r -c apt-file -s s -l sources-list -a "(ls /etc/apt)" -d "set sources.list file"
+complete -f -c apt-file -s l -l package-only -d "only display pkg name"
+complete -f -c apt-file -s F -l fixed-string -d "do not expand pattern"
+complete -f -c apt-file -s y -l dummy -d "run in dummy mode"
diff --git a/init/completions/apt-ftparchive.fish b/init/completions/apt-ftparchive.fish
new file mode 100644
index 00000000..cf6a49c2
--- /dev/null
+++ b/init/completions/apt-ftparchive.fish
@@ -0,0 +1,17 @@
+#apt-ftparchive
+complete -c apt-ftparchive -s h -l help -d "apt-ftparchive command help"
+complete -f -c apt-ftparchive -a packages -d "generate pkg from source"
+complete -f -c apt-ftparchive -a sources -d "generate source index file"
+complete -f -c apt-ftparchive -a contents -d "generate contents file"
+complete -f -c apt-ftparchive -a release -d "generate release file"
+complete -f -c apt-ftparchive -a clean -d "remove records"
+complete -f -c apt-ftparchive -l md5 -d "generate MD5 sums"
+complete -f -c apt-ftparchive -s d -l db -d "use a binary db"
+complete -f -c apt-ftparchive -s q -l quiet -d "quiet mode"
+complete -f -c apt-ftparchive -l delink -d "perform delinking"
+complete -f -c apt-ftparchive -l contents -d "perform contents generation"
+complete -c apt-ftparchive -s s -l source-override -d "use source override"
+complete -f -c apt-ftparchive -l readonly -d "make caching db readonly"
+complete -f -c apt-ftparchive -s v -l version -d "show version"
+complete -r -c apt-ftparchive -s c -l config-file -d "use config file"
+complete -r -c apt-ftparchive -s o -l option -d "set config options"
diff --git a/init/completions/apt-get.fish b/init/completions/apt-get.fish
new file mode 100644
index 00000000..ee253a7a
--- /dev/null
+++ b/init/completions/apt-get.fish
@@ -0,0 +1,64 @@
+#completion for apt-get
+
+function __fish_apt_no_subcommand -d "test if apt has yet to be given the subcommand"
+ for i in (commandline -opc)
+ if contains -- $i update upgrade dselect-upgrade dist-upgrade install remove source build-dep check clean autoclean
+ return 1
+ end
+ end
+ return 0
+end
+
+function __fish_apt_use_package -d "Test if apt command should have packages as potential completion"
+ for i in (commandline -opc)
+ if contains -- $i contains install remove build-dep
+ return 0
+ end
+ end
+ return 1
+end
+
+complete -c apt-get -n "__fish_apt_use_package" -a "(__fish_print_packages)" -d "Package"
+
+complete -c apt-get -s h -l help -d "apt-get command help"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "update" -d "update sources"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "upgrade" -d "upgrade or install newest packages"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "dselect-upgrade" -d "use with dselect front-end"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "dist-upgrade" -d "distro upgrade"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "install" -d "install one or more packages"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "remove" -d "remove one or more packages"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "source" -d "fetch source packages"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "build-dep" -d "install/remove packages for dependencies"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "check" -d "update cache and check dep"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "clean" -d "clean local caches and packages"
+complete -f -n "__fish_apt_no_subcommand" -c apt-get -a "autoclean" -d "clean packages no longer be downloaded"
+complete -c apt-get -s d -l download-only -d "Download Only"
+complete -c apt-get -s f -l fix-broken -d "correct broken deps"
+complete -c apt-get -s m -l fix-missing -d "ignore missing packages"
+complete -c apt-get -l no-download -d "Disable downloading packages"
+complete -c apt-get -s q -l quiet -d "quiet output"
+complete -c apt-get -s s -l simulate -d "perform a siulation"
+complete -c apt-get -s y -l assume-yes -d "automatic yes to prompts"
+complete -c apt-get -s u -l show-upgraded -d "show upgraded packages"
+complete -c apt-get -s V -l verbose-versions -d "show full versions for packages"
+complete -c apt-get -s b -l compile -d "compile source packages"
+complete -c apt-get -s b -l build -d "compile source packages"
+complete -c apt-get -l ignore-hold -d "ignore package Holds"
+complete -c apt-get -l no-upgrade -d "Do not upgrade packages"
+complete -c apt-get -l force-yes -d "Force yes"
+complete -c apt-get -l print-uris -d "print the URIs"
+complete -c apt-get -l purge -d "use purge instead of remove"
+complete -c apt-get -l reinstall -d "reinstall packages"
+complete -c apt-get -l list-cleanup -d "erase obsolete files"
+complete -c apt-get -s t -l target-release -d "control default input to the policy engine"
+complete -c apt-get -l trivial-only -d "only perform operations that are trivial"
+complete -c apt-get -l no-remove -d "abort if any packages are to be removed"
+complete -c apt-get -l only-source -d "only accept source packages"
+complete -c apt-get -l diff-only -d "download only diff file"
+complete -c apt-get -l tar-only -d "download only tar file"
+complete -c apt-get -l arch-only -d "only process arch-dep build-deps"
+complete -c apt-get -l allow-unauthenticated -d "ignore non-authenticated packages"
+complete -c apt-get -s v -l version -d "show program version"
+complete -r -c apt-get -s c -l config-file -d "specify a config file"
+complete -r -c apt-get -s o -l option -d "set a config option"
+
diff --git a/init/completions/apt-key.fish b/init/completions/apt-key.fish
new file mode 100644
index 00000000..391ff635
--- /dev/null
+++ b/init/completions/apt-key.fish
@@ -0,0 +1,5 @@
+#apt-key
+complete -r -c apt-key -a add -d "add a new key"
+complete -f -c apt-key -a del -d "remove a key"
+complete -f -c apt-key -a list -d "list trusted keys"
+
diff --git a/init/completions/apt-listbugs.fish b/init/completions/apt-listbugs.fish
new file mode 100644
index 00000000..eec950e3
--- /dev/null
+++ b/init/completions/apt-listbugs.fish
@@ -0,0 +1,25 @@
+#apt-listbugs
+complete -c apt-listbugs -s h -l help -d "apt-listbugs command help"
+complete -f -c apt-listbugs -s s -l severity -a "critical grave" -d "set severity"
+complete -f -c apt-listbugs -s T -l tag -d "Targs you want to see"
+complete -f -c apt-listbugs -s S -l stats -d "outstanding 'pending upload' resolved done open" -d "status you want to see"
+complete -f -c apt-listbugs -s l -l showless -d "ignore bugs in your system"
+complete -f -c apt-listbugs -s g -l showgreater -d "ignore newer bugs than upgrade pkgs"
+complete -f -c apt-listbugs -s D -l show-downgrade -d "bugs for downgrade pkgs"
+complete -f -c apt-listbugs -s H -l hostname -a "osdn.debian.or.jp" -d "Bug Tracking system"
+complete -f -c apt-listbugs -s p -l port -d "specify port for web interface"
+complete -f -c apt-listbugs -s R -l release-critical -d "use daily bug report"
+complete -f -c apt-listbugs -s I -l index -d "use the raw index.db"
+complete -f -c apt-listbugs -s X -l indexdir -d "specify index dir"
+complete -f -c apt-listbugs -s P -l pin-priority -d "specify Pin-Priority value"
+complete -f -c apt-listbugs -l title -d "specify the title of rss"
+complete -f -c apt-listbugs -s f -l force-download -d "retrieve fresh bugs"
+complete -f -c apt-listbugs -s q -l quiet -d "do not display progress bar"
+complete -f -c apt-listbugs -s c -l cache-dir -a "/var/cache/apt-listbugs/" -d "specify local cache dir"
+complete -f -c apt-listbugs -s t -l timer -d "specify the expire cache timer"
+complete -c apt-listbugs -s C -l aptconf -d "specify apt config file"
+complete -f -c apt-listbugs -s y -l force-yes -d "assume all yes"
+complete -f -c apt-listbugs -s n -l force-no -d "assume all no"
+complete -c apt-listbugs -a list -d "list bugs from pkgs"
+complete -c apt-listbugs -a rss -d "list bugs in rss format"
+
diff --git a/init/completions/apt-listchanges.fish b/init/completions/apt-listchanges.fish
new file mode 100644
index 00000000..c02cb1af
--- /dev/null
+++ b/init/completions/apt-listchanges.fish
@@ -0,0 +1,13 @@
+#apt-listchanges
+complete -c apt-listchanges -l help -d "apt-listchanges command help"
+complete -c apt-listchanges -l apt -d "read filenames from pipe"
+complete -f -c apt-listchanges -s v -l verbose -d "verbose info"
+complete -f -c apt-listchanges -s f -l frontend -a "pager browser xterm-pager xterm-browser text mail none" -d "select fronend interface"
+complete -r -f -c apt-listchanges -l email-address -d "specify email address"
+complete -f -c apt-listchanges -s c -l confirm -d "ask confirmation"
+complete -f -c apt-listchanges -s a -l all -d "display all changelogs"
+complete -r -c apt-listchanges -l save_seen -d "avoid changelogs from db in named file"
+complete -r -f -c apt-listchanges -l which -a "news changelogs both" -d "select display"
+complete -f -c apt-listchanges -s h -l headers -d "insert header"
+complete -f -c apt-listchanges -l debug -d "display debug info"
+complete -r -c apt-listchanges -l profile -d "select an option profile"
diff --git a/init/completions/apt-move.fish b/init/completions/apt-move.fish
new file mode 100644
index 00000000..62b53bbc
--- /dev/null
+++ b/init/completions/apt-move.fish
@@ -0,0 +1,23 @@
+#apt-move
+complete -c apt-move -a get -d "generate master file"
+complete -c apt-move -a getlocal -d "alias of get"
+complete -f -c apt-move -a move -d "move pkgs to local tree"
+complete -f -c apt-move -a delete -d "delete obsolete pkg files"
+complete -f -c apt-move -a packages -d "build new local files"
+complete -f -c apt-move -a fsck -d "rebuild index files"
+complete -f -c apt-move -a update -d "move pkgs from cache to local mirror"
+complete -f -c apt-move -a local -d "alias to move delete packages"
+complete -f -c apt-move -a localupdate -d "alias for update"
+complete -f -c apt-move -a mirror -d "download pkg missing from mirror"
+complete -f -c apt-move -a sync -d "sync pkgs installed"
+complete -f -c apt-move -a exclude -d 'test $LOCALDIR/.exclude file'
+complete -c apt-move -a movefile -d "move file from CLI"
+complete -f -c apt-move -a listbin -d "mirror|sync|repo"
+complete -f -c apt-move -a mirrorbin -d "fetch pkg from STDIN"
+complete -f -c apt-move -a mirrorsrc -d "fetch src pkg from STDIN"
+complete -f -c apt-move -s a -d "process all pkgs"
+complete -c apt-move -s c -d "use specific conffile"
+complete -f -c apt-move -s d -d "use specific dist"
+complete -f -c apt-move -s f -d "force deletion"
+complete -f -c apt-move -s q -d "suppresses normal output"
+complete -f -c apt-move -s t -d "test run"
diff --git a/init/completions/apt-proxy-import.fish b/init/completions/apt-proxy-import.fish
new file mode 100644
index 00000000..0c2965e3
--- /dev/null
+++ b/init/completions/apt-proxy-import.fish
@@ -0,0 +1,10 @@
+#apt-proxy-import
+complete -c apt-proxy-import -s h -l help -d "apt-proxy-import command help"
+complete -f -c apt-proxy-import -s V -l version -d "print version"
+complete -f -c apt-proxy-import -s v -l verbose -d "verbose info"
+complete -f -c apt-proxy-import -s q -l quiet -d "no message to STDOUT"
+complete -f -c apt-proxy-import -s r -l recursive -d "recurse into subdir"
+complete -r -c apt-proxy-import -s i -l import-dir -a "(ls -Fp|grep /$)" -d "dir to import"
+complete -r -c apt-proxy-import -s u -l user -a "(__fish_complete_users)" -d "change to user"
+complete -r -c apt-proxy-import -s d -l debug -d "debug level[default 0]"
+
diff --git a/init/completions/apt-rdepends.fish b/init/completions/apt-rdepends.fish
new file mode 100644
index 00000000..30cd6482
--- /dev/null
+++ b/init/completions/apt-rdepends.fish
@@ -0,0 +1,13 @@
+#apt-rdepends
+complete -c apt-rdepends -l help -d "apt-rdepends command help"
+complete -f -c apt-rdepends -s b -l build-depends -d "show bulid deps"
+complete -f -c apt-rdepends -s d -l dotty -d "generate a dotty graph"
+complete -f -c apt-rdepends -s p -l print-state -d "show state of deps"
+complete -f -c apt-rdepends -s r -l reverse -d "list pkgs depending on"
+complete -r -f -c apt-rdepends -s f -l follow -d "only follow DEPENDS recursively"
+complete -r -f -c apt-rdepends -s s -l show -d "only show DEPENDS"
+complete -r -f -c apt-rdepends -l state-follow -d "only follow STATES recursively"
+complete -r -f -c apt-rdepends -l state-show -d "only show STATES"
+complete -f -c apt-rdepends -l man -d "display man page"
+complete -f -c apt-rdepends -l version -d "print version"
+
diff --git a/init/completions/apt-setup.fish b/init/completions/apt-setup.fish
new file mode 100644
index 00000000..715d0f35
--- /dev/null
+++ b/init/completions/apt-setup.fish
@@ -0,0 +1,4 @@
+#apt-setup
+complete -c apt-setup -a probe -d "probe a CD"
+complete -c apt-setup -s N -d "run in noninteractive mode"
+
diff --git a/init/completions/apt-show-source.fish b/init/completions/apt-show-source.fish
new file mode 100644
index 00000000..08016185
--- /dev/null
+++ b/init/completions/apt-show-source.fish
@@ -0,0 +1,10 @@
+#apt-show-source
+complete -c apt-show-source -s h -l help -d "apt-show-source command help"
+complete -r -c apt-show-source -l status-file -d "read pkg from FILE" -f
+complete -r -c apt-show-source -o stf -d "read pkg from FILE" -f
+complete -r -c apt-show-source -l list-dir -a "(ls -Fp .|grep /$) /var/lib/apt/lists" -d "specify APT list dir"
+complete -r -c apt-show-source -o ld -a "(ls -Fp .|grep /$) /var/lib/apt/lists" -d "specify APT list dir"
+complete -r -c apt-show-source -s p -l package -a "(apt-cache pkgnames)" -d "list PKG info"
+complete -f -c apt-show-source -l version-only -d "print version only"
+complete -f -c apt-show-source -s a -l all -d "print all src pkgs with version"
+complete -f -c apt-show-source -s v -l verbose -d "verbose message"
diff --git a/init/completions/apt-show-versions.fish b/init/completions/apt-show-versions.fish
new file mode 100644
index 00000000..47abe1ba
--- /dev/null
+++ b/init/completions/apt-show-versions.fish
@@ -0,0 +1,14 @@
+#apt-show-versions
+complete -c apt-show-source -s h -l help -d "apt-show-versions command help"
+complete -r -c apt-show-versions -s p -l packages -a "(apt-cache pkgnames)" -d "print PKG versions"
+complete -f -c apt-show-versions -s r -l regex -d "using regex"
+complete -f -c apt-show-versions -s u -l upgradeable -d "print only upgradeable pkgs"
+complete -f -c apt-show-versions -s a -l allversions -d "print all versions"
+complete -f -c apt-show-versions -s b -l brief -d "print pkg name/distro"
+complete -f -c apt-show-versions -s v -l verbose -d "print verbose info"
+complete -f -c apt-show-versions -s i -l initialize -d "init or update cache only"
+complete -r -c apt-show-versions -l status-file -d "read pkg from FILE"
+complete -r -c apt-show-versions -o stf -d "read pkg from FILE"
+complete -r -c apt-show-versions -l list-dir -a "(ls -Fp .|grep /$) /var/lib/apt/lists /var/state/apt/lists" -d "specify APT list dir"
+complete -r -c apt-show-versions -o ld -a "(ls -Fp .|grep /$) /var/lib/apt/lists /var/state/apt/lists" -d "specify APT list dir"
+
diff --git a/init/completions/apt-sortpkgs.fish b/init/completions/apt-sortpkgs.fish
new file mode 100644
index 00000000..86c3cfbe
--- /dev/null
+++ b/init/completions/apt-sortpkgs.fish
@@ -0,0 +1,7 @@
+#apt-sortpkgs
+complete -c apt-sortpkgs -s h -l help -d "apt-sortpkgs command help"
+complete -f -c apt-sortpkgs -s s -l source -d "use source index field"
+complete -f -c apt-sortpkgs -s v -l version -d "show version"
+complete -r -c apt-sortpkgs -s c -l conf-file -d "specify conffile"
+complete -r -f -c apt-sortpkgs -s o -l option -d "set config options"
+
diff --git a/init/completions/apt-spy.fish b/init/completions/apt-spy.fish
new file mode 100644
index 00000000..ab9471c4
--- /dev/null
+++ b/init/completions/apt-spy.fish
@@ -0,0 +1,20 @@
+#apt-spy
+complete -c apt-spy -s h -d "apt-spy command help"
+complete -f -c apt-spy -s d -a "stable testing unstable" -d "Debian distribtion"
+complete -f -c apt-spy -s a -a "Africa Asia Europe North-America Oceania South-America" -d "servers in the areas"
+complete -c apt-spy -s c -d "conf file"
+complete -f -c apt-spy -s e -d "finish after number of servers"
+complete -c apt-spy -s f -d "file to grab servers"
+complete -c apt-spy -s i -d "file as input"
+complete -c apt-spy -s m -d "mirror-list file"
+complete -c apt-spy -s o -d "output sources.list file"
+complete -f -c apt-spy -s p -d "use proxy server"
+complete -f -c apt-spy -s s -d "comma separated country list"
+complete -f -c apt-spy -s t -d "how long in sec to download"
+complete -f -c apt-spy -s u -d "custom URL to get mirror list"
+complete -c apt-spy -s w -d "write top servers to file"
+complete -f -c apt-spy -s n -d "number of top servers"
+complete -f -c apt-spy -a "update" -d "update mirror list"
+complete -f -c apt-spy -s v -d "version number"
+
+
diff --git a/init/completions/apt-src.fish b/init/completions/apt-src.fish
new file mode 100644
index 00000000..bbea22a0
--- /dev/null
+++ b/init/completions/apt-src.fish
@@ -0,0 +1,24 @@
+#apt-src
+complete -c apt-src -s h -l help -d "apt-src command help"
+complete -f -c apt-src -a "update" -d "update list of src pkgs"
+complete -f -c apt-src -a "install" -d "install src pkgs"
+complete -f -c apt-src -a "upgrade" -d "upgrade src pkgs"
+complete -f -c apt-src -a "remove" -d "remove src pkgs"
+complete -f -c apt-src -a "build" -d "build src pkgs"
+complete -f -c apt-src -a "clean" -d "clean src pkgs"
+complete -f -c apt-src -a "import" -d "detect known src tree"
+complete -f -c apt-src -a "list" -d "list installed src pkg\(s\)"
+complete -f -c apt-src -a "location" -d "root src tree"
+complete -f -c apt-src -a "version" -d "version of src pkg"
+complete -f -c apt-src -a "name" -d "name of the src pkg"
+complete -f -c apt-src -s b -l build -d "build src pkgs"
+complete -f -c apt-src -s i -l installdebs -d "install after build"
+complete -f -c apt-src -s p -l patch -d "patch local changes"
+complete -r -c apt-src -s l -l location -d "specify a dir"
+complete -c apt-src -s c -l here -d "run on current dir"
+complete -f -c apt-src -l upstream-version -d "omit debian version"
+complete -f -c apt-src -s k -l keep-built -d "do not del built files"
+complete -f -c apt-src -s n -l no-delete-source -d "do not del source files"
+complete -f -c apt-src -l version -d "source tree version"
+complete -f -c apt-src -s q -l quiet -d "output to /dev/null"
+complete -f -c apt-src -s t -l trace -d "output trace"
diff --git a/init/completions/apt-zip-inst.fish b/init/completions/apt-zip-inst.fish
new file mode 100644
index 00000000..8fe7bb3d
--- /dev/null
+++ b/init/completions/apt-zip-inst.fish
@@ -0,0 +1,10 @@
+#apt-zip-inst
+complete -c apt-zip-inst -s h -l help -d "apt-zip-inst command help"
+complete -f -c apt-zip-inst -s V -l version -d "show version"
+complete -c apt-zip-inst -s m -l medium -d "removable medium"
+complete -f -c apt-zip-inst -s a -l aptgetaction -a "dselect-upgrade upgrade dist-upgrade" -d "select an action"
+complete -c apt-zip-inst -s p -l packages -d "list of pkgs to install"
+complete -f -c apt-zip-inst -s f -l fix-broken -d "fix broken option"
+complete -c apt-zip-inst -l skip-mount -d "specify a non-mountpoint dir"
+
+
diff --git a/init/completions/apt-zip-list.fish b/init/completions/apt-zip-list.fish
new file mode 100644
index 00000000..ee91bd82
--- /dev/null
+++ b/init/completions/apt-zip-list.fish
@@ -0,0 +1,13 @@
+#apt-zip-list
+complete -c apt-zip-list -s h -l help -d "apt-zip-list command help"
+complete -f -c apt-zip-list -s V -l version -d "show version"
+complete -c apt-zip-list -s m -l medium -d "removable medium"
+complete -f -c apt-zip-list -s a -l aptgetaction -a "dselect-upgrade upgrade dist-upgrade" -d "select an action"
+complete -c apt-zip-list -s p -l packages -d "list of pkgs to install"
+complete -f -c apt-zip-list -s f -l fix-broken -d "fix broken option"
+complete -c apt-zip-list -l skip-mount -d "specify a non-mountpoint dir"
+complete -c apt-zip-list -s M -l method -d "select a method"
+complete -c apt-zip-list -s o -l options -a "tar restart" -d "specify options"
+complete -c apt-zip-list -s A -l accept -a "http ftp" -d "accept protocols"
+complete -c apt-zip-list -s R -l reject -a "http ftp" -d "reject protocols"
+
diff --git a/init/completions/arp.fish b/init/completions/arp.fish
new file mode 100644
index 00000000..27195e71
--- /dev/null
+++ b/init/completions/arp.fish
@@ -0,0 +1,11 @@
+#completion for arp
+complete -c arp -s v -l verbose -d "verbose mode"
+complete -c arp -s n -l numeric -d "numerical address"
+complete -x -c arp -s H -l tw-type -a "ether arcnet pronet ax25 netrom" -d "class of hw type"
+complete -c arp -s a -l display -x -a "(__fish_print_hostnames)" -d "show arp entries"
+complete -x -c arp -s d -l delete -a "(__fish_print_hostnames)" -d "remove an entry for hostname"
+complete -c arp -s D -l use-device -d "use hardware address"
+complete -x -c arp -s i -l device -a "(__fish_print_interfaces)" -d "select interface"
+complete -x -c arp -s s -l set -d "Manually create ARP address" -a "(__fish_print_hostnames)"
+complete -f -c arp -s f -l file -d "taken addr from filename, default /etc/ethers"
+
diff --git a/init/completions/at.fish b/init/completions/at.fish
new file mode 100644
index 00000000..c4243b55
--- /dev/null
+++ b/init/completions/at.fish
@@ -0,0 +1,10 @@
+#at
+complete -f -c at -s V -d "print version"
+complete -f -c at -s q -d "use specified queue"
+complete -f -c at -s m -d "send mail to user"
+complete -c at -s f -x -a "(__fish_complete_suffix (commandline -ct) '' 'At job')" -d "Read job from file"
+complete -f -c at -s l -d "alias for atq"
+complete -f -c at -s d -d "alias for atrm"
+complete -f -c at -s v -d "show the time"
+complete -f -c at -s c -d "cat the jobs listed"
+
diff --git a/init/completions/atd.fish b/init/completions/atd.fish
new file mode 100644
index 00000000..0360a267
--- /dev/null
+++ b/init/completions/atd.fish
@@ -0,0 +1,6 @@
+#atd
+complete -f -c atd -s l -d "limiting load factor"
+complete -f -c atd -s b -d "minimum interval in seconds"
+complete -f -c atd -s d -d "Debug mode"
+complete -f -c atd -s s -d "process at queue only once"
+
diff --git a/init/completions/atq.fish b/init/completions/atq.fish
new file mode 100644
index 00000000..c018d703
--- /dev/null
+++ b/init/completions/atq.fish
@@ -0,0 +1,4 @@
+#atq
+complete -f -c atq -s V -d "print version"
+complete -f -c atq -s q -d "use specified queue"
+
diff --git a/init/completions/atrm.fish b/init/completions/atrm.fish
new file mode 100644
index 00000000..2834d0d6
--- /dev/null
+++ b/init/completions/atrm.fish
@@ -0,0 +1,2 @@
+#atrm
+complete -f -c atrm -s V -d "print version"
diff --git a/init/completions/bc.fish b/init/completions/bc.fish
new file mode 100644
index 00000000..c783e54f
--- /dev/null
+++ b/init/completions/bc.fish
@@ -0,0 +1,9 @@
+# Completions for the binary calculator
+
+complete -c bc -s i -l interactive -d "Force interactive mode"
+complete -c bc -s l -l math-lib -d "Define math library"
+complete -c bc -s w -l warn -d "Give warnings for extensions to POSIX bc"
+complete -c bc -s s -l standard -d "Process exactly POSIX bc"
+complete -c bc -s q -l quiet -d "Do not print the GNU welcome"
+complete -c bc -s v -l version -d "Display version and exit"
+complete -c bc -s h -l help -d "Display help and exit"
diff --git a/init/completions/btdownloadcurses.py.fish b/init/completions/btdownloadcurses.py.fish
new file mode 100644
index 00000000..b92ddca5
--- /dev/null
+++ b/init/completions/btdownloadcurses.py.fish
@@ -0,0 +1,2 @@
+
+complete -y btdownloadheadless.py
diff --git a/init/completions/btdownloadheadless.py.fish b/init/completions/btdownloadheadless.py.fish
new file mode 100644
index 00000000..366cd640
--- /dev/null
+++ b/init/completions/btdownloadheadless.py.fish
@@ -0,0 +1,34 @@
+# Bittorrent commands
+
+for i in btdownloadcurses.py btdownloadheadless.py;
+ complete -c $i -l max_uploads -x -d "Maximum uploads at once"
+ complete -c $i -l keepalive_interval -x -d "Number of seconds between keepalives"
+ complete -c $i -l download_slice_size -x -d "Bytes per request"
+ complete -c $i -l request_backlog -x -d "Requests per pipe"
+ complete -c $i -l max_message_length -x -d "Maximum length prefix encoding"
+ complete -c $i -l ip -d "IP to report to the tracker" -x -a "(__fish_print_addresses)"
+ complete -c $i -l minport -d "Minimum port to listen to"
+ complete -c $i -l maxport -d "Maximum port to listen to"
+ complete -c $i -l responsefile -r -d "File for server response"
+ complete -c $i -l url -x -d "URL to get file from"
+ complete -c $i -l saveas -r -d "Local file target"
+ complete -c $i -l timeout -x -d "Time to close inactive socket"
+ complete -c $i -l timeout_check_interval -x -d "Time between checking timeouts"
+ complete -c $i -l max_slice_length -x -d "Maximum outgoing slice length"
+ complete -c $i -l max_rate_period -x -d "Maximum time to guess rate"
+ complete -c $i -l bind -x -d "IP to bind to locally" -a "(__fish_print_addresses)"
+ complete -c $i -l upload_rate_fudge -x -d "time equivalent of writing to kernel-level TCP buffer"
+ complete -c $i -l display_interval -x -d "Time between screen updates"
+ complete -c $i -l rerequest_interval -x -d "Time to wait between requesting more peers"
+ complete -c $i -l min_peers -x -d "Minimum number of peers to not do requesting"
+ complete -c $i -l http_timeout -x -d "Number of seconds before assuming http timeout"
+ complete -c $i -l max_initiate -x -d "Number of peers at which to stop initiating new connections"
+ complete -c $i -l max_allow_in -x -d "Maximum number of connections to allow"
+ complete -c $i -l check_hashes -x -d "Whether to check hashes on disk"
+ complete -c $i -l max_upload_rate -x -d "Maximum kB/s to upload at"
+ complete -c $i -l snub_time -x -d "Seconds to wait for data to come in before assuming choking"
+ complete -c $i -l spew -x -d "Whether to display diagnostic info"
+ complete -c $i -l rarest_first_cutoff -x -d "Number of downloads at which to switch from random to rarest first"
+ complete -c $i -l min_uploads -x -d "Number of uploads to fill out to with optimistic unchokes"
+ complete -c $i -l report_hash_failiures -x -d "Whether to inform the user that hash failures occur"
+end;
diff --git a/init/completions/bunzip2.fish b/init/completions/bunzip2.fish
new file mode 100644
index 00000000..53e5625d
--- /dev/null
+++ b/init/completions/bunzip2.fish
@@ -0,0 +1,15 @@
+complete -c bunzip2 -x -a "(
+ __fish_complete_suffix (commandline -ct) .bz 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .bz2 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .tbz 'Compressed archive'
+ __fish_complete_suffix (commandline -ct) .tbz2 'Compressed archive'
+)
+"
+
+complete -c bunzip2 -s c -l stdout -d "Decompress to stdout"
+complete -c bunzip2 -s f -l force -d "Overwrite"
+complete -c bunzip2 -s k -l keep -d "Do not overwrite"
+complete -c bunzip2 -s s -l small -d "Reduce memory usage"
+complete -c bunzip2 -s v -l verbose -d "Print compression ratios"
+complete -c bunzip2 -s L -l license -d "Print license"
+complete -c bunzip2 -s V -l version -d "Print version"
diff --git a/init/completions/bzcat.fish b/init/completions/bzcat.fish
new file mode 100644
index 00000000..9ec6f1ff
--- /dev/null
+++ b/init/completions/bzcat.fish
@@ -0,0 +1,8 @@
+complete -c bzcat -x -a "(
+ __fish_complete_suffix (commandline -ct) .bz 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .bz2 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .tbz 'Compressed archive'
+ __fish_complete_suffix (commandline -ct) .tbz2 'Compressed archive'
+)
+"
+complete -c bzcat -s s -l small -d "Reduce memory usage"
diff --git a/init/completions/bzip2.fish b/init/completions/bzip2.fish
new file mode 100644
index 00000000..d0d3de7e
--- /dev/null
+++ b/init/completions/bzip2.fish
@@ -0,0 +1,19 @@
+complete -c bzip2 -s c -l stdout -d "Compress to stdout"
+complete -c bzip2 -s d -l decompress -x -a "(
+ __fish_complete_suffix (commandline -ct) .bz 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .bz2 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .tbz 'Compressed archive'
+ __fish_complete_suffix (commandline -ct) .tbz2 'Compressed archive'
+)
+"
+complete -c bzip2 -s z -l compress -d "Compress file"
+complete -c bzip2 -s t -l test -d "Check integrity"
+complete -c bzip2 -s f -l force -d "Overwrite"
+complete -c bzip2 -s k -l keep -d "Do not overwrite"
+complete -c bzip2 -s s -l small -d "Reduce memory usage"
+complete -c bzip2 -s q -l quiet -d "Supress errors"
+complete -c bzip2 -s v -l verbose -d "Print compression ratios"
+complete -c bzip2 -s L -l license -d "Print license"
+complete -c bzip2 -s V -l version -d "Print version"
+complete -c bzip2 -s 1 -l fast -d "Small block size"
+complete -c bzip2 -s 9 -l best -d "Large block size"
diff --git a/init/completions/bzip2recover.fish b/init/completions/bzip2recover.fish
new file mode 100644
index 00000000..2ac17f46
--- /dev/null
+++ b/init/completions/bzip2recover.fish
@@ -0,0 +1,8 @@
+complete -c bzip2recover -x -a "(
+ __fish_complete_suffix (commandline -ct) .bz 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .bz2 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .tbz 'Compressed archive'
+ __fish_complete_suffix (commandline -ct) .tbz2 'Compressed archive'
+)
+"
+
diff --git a/init/completions/cat.fish b/init/completions/cat.fish
new file mode 100644
index 00000000..67066177
--- /dev/null
+++ b/init/completions/cat.fish
@@ -0,0 +1,12 @@
+complete -c cat -s A -l show-all -d "Escape all non-printing characters"
+complete -c cat -s b -l number-nonblank -d "Number nonblank lines"
+complete -c cat -s e -d "Escape non-printing characters except tab"
+complete -c cat -s E -l show-ends -d "Display $ at end of line"
+complete -c cat -s n -l number -d "Number all lines"
+complete -c cat -s s -l squeeze-blank -d "Never more than single blank line"
+complete -c cat -s t -d "Escape non-printing characters except newline"
+complete -c cat -s T -l show-tabs -d "Escape tab"
+complete -c cat -s v -d "Escape non-printing except newline and tab"
+complete -c cat -l help -d "Display help and exit"
+complete -c cat -l version -d "Display version and exit"
+
diff --git a/init/completions/cd.fish b/init/completions/cd.fish
new file mode 100644
index 00000000..ea5eed01
--- /dev/null
+++ b/init/completions/cd.fish
@@ -0,0 +1,39 @@
+
+function __fish_complete_cd -d "Completions for the cd command"
+
+ #
+ # We can't simply use __fish_complete_directory because of the CDPATH
+ #
+
+ set -- wd $PWD
+ set -- owd $OLDPWD
+
+ # Check if CDPATH is set
+
+ set -l mycdpath
+
+ if test -z $CDPATH[1]
+ set mycdpath .
+ else
+ set mycdpath $CDPATH
+ end
+
+ if echo (commandline -ct)|grep '^/' >/dev/null
+ # This is an absolute search path
+ eval printf '\%s\\tDirectory\\n' (commandline -ct)\*/
+ else
+ # This is a relative search path
+ # Iterate over every directory in CDPATH and check for possible completions
+ for i in $mycdpath
+ # Move to the initial directory first, in case the CDPATH directory is relative
+ builtin cd $wd
+ builtin cd $i
+ eval printf '"%s\tDirectory in "'$i'"\n"' (commandline -ct)\*/
+ end
+ end
+
+ builtin cd $wd
+ set -- OLDPWD $owd
+end
+
+complete -x -c cd -a "(__fish_complete_cd)"
diff --git a/init/completions/chgrp.fish b/init/completions/chgrp.fish
new file mode 100644
index 00000000..d1bdfb98
--- /dev/null
+++ b/init/completions/chgrp.fish
@@ -0,0 +1,12 @@
+
+complete -c chgrp -s c -l changes -d "Output diagnostic for changed files"
+complete -c chgrp -l dereference -d "Dereferense symbolic links"
+complete -c chgrp -s h -l no-dereference -d "Do not dereference symbolic links"
+complete -c chgrp -l from -d "Change from owner/group"
+complete -c chgrp -s f -l silent -d "Supress errors"
+complete -c chgrp -l reference -d "Use same owner/group as file" -r
+complete -c chgrp -s R -l recursive -d "Operate recursively"
+complete -c chgrp -s v -l verbose -d "Output diagnostic for every file"
+complete -c chgrp -s h -l help -d "Display help and exit"
+complete -c chgrp -l version -d "Display version and exit"
+complete -c chgrp -d Group -a "(__fish_complete_groups)"
diff --git a/init/completions/chown.fish b/init/completions/chown.fish
new file mode 100644
index 00000000..4de98e24
--- /dev/null
+++ b/init/completions/chown.fish
@@ -0,0 +1,12 @@
+complete -c chown -s c -l changes -d "Output diagnostic for changed files"
+complete -c chown -l dereference -d "Dereferense symbolic links"
+complete -c chown -s h -l no-dereference -d "Do not dereference symbolic links"
+complete -c chown -l from -d "Change from owner/group"
+complete -c chown -s f -l silent -d "Supress errors"
+complete -c chown -l reference -d "Use same owner/group as file" -r
+complete -c chown -s R -l recursive -d "Operate recursively"
+complete -c chown -s v -l verbose -d "Output diagnostic for every file"
+complete -c chown -s h -l help -d "Display help and exit"
+complete -c chown -l version -d "Display version and exit"
+complete -c chown -d "Username" -a "(__fish_print_users):"
+complete -c chown -d "Username" -a "(echo (commandline -ct)|grep -o '.*:')(cat /etc/group |cut -d : -f 1)"
diff --git a/init/completions/commandline.fish b/init/completions/commandline.fish
new file mode 100644
index 00000000..442a00b7
--- /dev/null
+++ b/init/completions/commandline.fish
@@ -0,0 +1,12 @@
+complete -c commandline -s a -l append -d "Add text to the end of commandline"
+complete -c commandline -s i -l insert -d "Add text at cursor"
+complete -c commandline -s r -l replace -d "Replace selected part of buffer (replace)"
+
+complete -c commandline -s j -l current-job -d "Operate only on job under cursor"
+complete -c commandline -s p -l current-process -d "Operate only on process under cursor"
+complete -c commandline -s t -l current-token -d "Operate only on tokenizer token under cursor"
+complete -c commandline -s b -l current-buffer -d "Operate on entire buffer (default)"
+
+complete -c commandline -s c -l cut-at-cursor -d "Only return part of commandline before the cursor"
+complete -c commandline -s f -l function -d "Inject readline functions to reader"
+
diff --git a/init/completions/complete.fish b/init/completions/complete.fish
new file mode 100644
index 00000000..937777b2
--- /dev/null
+++ b/init/completions/complete.fish
@@ -0,0 +1,13 @@
+complete -c complete -s c -l command -d "Command to add completion to" -r
+complete -c complete -s p -l path -d "Path to add completion to"
+complete -c complete -s s -l short-option -d "Posix-style option to complete"
+complete -c complete -s l -l long-option -d "GNU-style option to complete"
+complete -c complete -s o -l old-option -d "Old style long option to complete"
+complete -c complete -s f -l no-files -d "Do not use file completion"
+complete -c complete -s r -l require-parameter -d "Require parameter"
+complete -c complete -s x -l exclusive -d "Require parameter and do not use file completion"
+complete -c complete -s a -l arguments -d "A list of possible arguments"
+complete -c complete -s d -l description -d "Description of this completions"
+complete -c complete -s u -l unauthorative -d "Option list is not complete"
+complete -c complete -s e -l erase -d "Remove completion"
+complete -c complete -s h -l help -d "Display help and exit"
diff --git a/init/completions/configure.fish b/init/completions/configure.fish
new file mode 100644
index 00000000..d3c25eb1
--- /dev/null
+++ b/init/completions/configure.fish
@@ -0,0 +1,12 @@
+complete -c configure -s h -l help -x -a "short recursive" -d "Display help and exit"
+complete -c configure -s V -l version -d "Display version and exit"
+complete -c configure -s q -l quiet -d "Be less verbose"
+complete -c configure -l cache-file -f -d "Cache test results in specified file"
+complete -c configure -s C -l config-cache -d "Cache test results in file config.cache"
+complete -c configure -s n -l no-create -d "Do not create output files"
+complete -c configure -l srcdir -d "Set source directory" -a "__fish_complete_directory (commandline -ct)" -x
+complete -c configure -l prefix -d "Architecture-independent install directory" -a "__fish_complete_directory (commandline -ct)" -x
+complete -c configure -l exec-prefix -d "Architecture-dependent install directory" -a "__fish_complete_directory (commandline -ct)" -x
+complete -c configure -l build -d "configure for building on BUILD" -x
+complete -c configure -l host -d "cross-compile to build programs to run on HOST" -x
+complete -c configure -l target -d "configure for building compilers for TARGET" -x -u
diff --git a/init/completions/cut.fish b/init/completions/cut.fish
new file mode 100644
index 00000000..a5015d8e
--- /dev/null
+++ b/init/completions/cut.fish
@@ -0,0 +1,10 @@
+complete -c cut -s b -l bytes -x -d "Ouput byte range"
+complete -c cut -s c -l characters -x -d "Output character range"
+complete -c cut -s d -l delimiter -x -d "Select field delimiter"
+complete -c cut -s d -l fields -x -d "Select fields"
+complete -c cut -s n -d "Dont split mutibyte characters"
+complete -c cut -s s -l only-delimited -d "Do not print lines without delimiter"
+complete -c cut -l output-delimiter -d "Select output delimiter"
+complete -c cut -l help -d "Display help and exit"
+complete -c cut -l version -d "Display version and exit"
+
diff --git a/init/completions/cvs.fish b/init/completions/cvs.fish
new file mode 100644
index 00000000..d0834f9c
--- /dev/null
+++ b/init/completions/cvs.fish
@@ -0,0 +1,53 @@
+#
+# I don't use CVS, so these completions are probably not all that good.
+#
+
+complete -c cvs -x -a "add" -d "Add a new file/directory to the repository"
+complete -c cvs -x -a "admin" -d "Administration front end for rcs"
+complete -c cvs -x -a "annotate" -d "Show last revision where each line was modified"
+complete -c cvs -x -a "checkout" -d "Checkout sources for editing"
+complete -c cvs -x -a "commit" -d "Check files into the repository"
+complete -c cvs -x -a "diff" -d "Show differences between revisions"
+complete -c cvs -x -a "edit" -d "Get ready to edit a watched file"
+complete -c cvs -x -a "editors" -d "See who is editing a watched file"
+complete -c cvs -x -a "export" -d "Export sources from CVS, similar to checkout"
+complete -c cvs -x -a "history" -d "Show repository access history"
+complete -c cvs -x -a "import" -d "Import sources into CVS, using vendor branches"
+complete -c cvs -x -a "init" -d "Create a CVS repository if it doesnt exist"
+complete -c cvs -x -a "kserver" -d "Kerberos server mode"
+complete -c cvs -x -a "log" -d "Print out history information for files"
+complete -c cvs -x -a "login" -d "Prompt for password for authenticating server"
+complete -c cvs -x -a "logout" -d "Removes entry in .cvspass for remote repository"
+complete -c cvs -x -a "pserver" -d "Password server mode"
+complete -c cvs -x -a "rannotate" -d "Show last revision where each line of module was modified"
+complete -c cvs -x -a "rdiff" -d "Create 'patch' format diffs between releases"
+complete -c cvs -x -a "release" -d "Indicate that a Module is no longer in use"
+complete -c cvs -x -a "remove" -d "Remove an entry from the repository"
+complete -c cvs -x -a "rlog" -d "Print out history information for a module"
+complete -c cvs -x -a "rtag" -d "Add a symbolic tag to a module"
+complete -c cvs -x -a "server" -d "Server mode"
+complete -c cvs -x -a "status" -d "Display status information on checked out files"
+complete -c cvs -x -a "tag" -d "Add a symbolic tag to checked out version of files"
+complete -c cvs -x -a "unedit" -d "Undo an edit command"
+complete -c cvs -x -a "update" -d "Bring work tree in sync with repository"
+complete -c cvs -x -a "version" -d "Show current CVS version(s)"
+complete -c cvs -x -a "watch" -d "Set watches"
+complete -c cvs -x -a "watchers" -d "See who is watching a file"
+
+complete -c cvs -x -s H -d "Displays usage information for command"
+complete -c cvs -x -s Q -d "Cause CVS to be really quiet"
+complete -c cvs -x -s q -d "Cause CVS to be somewhat quiet"
+complete -c cvs -x -s r -d "Make checked-out files read-only"
+complete -c cvs -x -s w -d "Make checked-out files read-write (default)"
+complete -c cvs -x -s n -d "Do not execute anything that will change the disk"
+complete -c cvs -x -s t -d "Show trace of program execution -- try with -n"
+complete -c cvs -x -s v -d "CVS version and copyright"
+complete -c cvs -x -s T -r -d "Use 'tmpdir' for temporary files"
+complete -c cvs -x -s e -r -d "Use 'editor' for editing log information"
+complete -c cvs -x -s d -r -d "Overrides $CVSROOT as the root of the CVS tree"
+complete -c cvs -x -s f -d "Do not use the ~/.cvsrc file"
+complete -c cvs -x -s z -d "Compression level for net traffic" -x -a "1 2 3 4 5 6 7 8 9"
+complete -c cvs -x -s x -d "Encrypt all net traffic"
+complete -c cvs -x -s a -d "Authenticate all net traffic"
+complete -c cvs -x -s s -d "Set CVS user variable" -x
+
diff --git a/init/completions/date.fish b/init/completions/date.fish
new file mode 100644
index 00000000..dc07030b
--- /dev/null
+++ b/init/completions/date.fish
@@ -0,0 +1,11 @@
+complete -c date -s d -l date -d "Display date described by string" -x
+complete -c date -s f -l file -d "Display date for each line in file" -r
+complete -c date -s I -l iso-8601 -d "Output in ISO 8601 format" -x -a "date hours minutes seconds"
+complete -c date -s s -l set -d "Set time" -x
+complete -c date -s R -l rfc-2822 -d "Output RFC-2822 compliant date string"
+complete -c date -s r -l reference -d "display the last modification time of file" -r
+complete -c date -s u -l utc -d "print or set Coordinated Universal Time"
+complete -c date -l universal -d "print or set Coordinated Universal Time"
+complete -c date -s h -l help -d "Display help and exit"
+complete -c date -s v -l version -d "Display version and exit"
+
diff --git a/init/completions/df.fish b/init/completions/df.fish
new file mode 100644
index 00000000..9257f429
--- /dev/null
+++ b/init/completions/df.fish
@@ -0,0 +1,18 @@
+complete -y mount
+
+complete -c df -s a -l all -d "Include empty filesystems"
+complete -c df -s B -l block-size -r -d "Block size"
+complete -c df -s h -l human-readable -d "Human readable sizes"
+complete -c df -s H -l si -d "Human readable sizes, powers of 1000"
+complete -c df -s i -l inodes -d "List inode information"
+complete -c df -s k -d "Use 1KB block size"
+complete -c df -s l -l local -d "List only local filesystems"
+complete -c df -l no-sync -d "Do not sync before getting usage info"
+complete -c df -s P -l portability -d "Use Posix format"
+complete -c df -l sync -d "Sync before getting usage info"
+complete -c df -s t -l type -r -d "Filesystem type" -x -a $__fish_filesystems
+complete -c df -s T -l print-type -d "Print filesystem type"
+complete -c df -s x -l exclude-type -d "Excluded filesystem type" -r -x -a $__fish_filesystems
+complete -c df -l help -d "Display help and exit"
+complete -c df -l version -d "Display version and exit"
+
diff --git a/init/completions/diff.fish b/init/completions/diff.fish
new file mode 100644
index 00000000..d62c9a00
--- /dev/null
+++ b/init/completions/diff.fish
@@ -0,0 +1,26 @@
+# Completions for diff
+complete -c diff -s i -l ignore-case -d "Ignore case differences"
+complete -c diff -l ignore-file-name-case -d "Ignore case when comparing file names"
+complete -c diff -l no-ignore-file-name-case -d "Consider case when comparing file names"
+complete -c diff -s E -l ignore-tab-expansion -d "Ignore changes due to tab expansion"
+complete -c diff -s b -l ignore-space-change -d "Ignore changes in the amount of white space"
+complete -c diff -s w -l ignore-all-space -d "Ignore all white space"
+complete -c diff -s B -l ignore-blank-lines -d "Ignore changes whose lines are all blank"
+complete -c diff -s I -l ignore-matching-lines -x -d "Ignore changes whose lines match the RE"
+complete -c diff -s a -l text -d "Treat all files as text"
+complete -c diff -s r -l recursive -d "Recursively compare subdirectories"
+complete -c diff -s N -l new-file -d "Treat absent files as empty"
+complete -c diff -s C -l context -x -d "Output NUM lines of copied context"
+complete -c diff -s c -d "Output 3 lines of copied context"
+complete -c diff -s U -l unified -x -d "Output NUM lines of unified context"
+complete -c diff -s u -d "Output 3 lines of unified context"
+complete -c diff -s q -l brief -d "Output only whether the files differ"
+complete -c diff -l normal -d "Output a normal diff"
+complete -c diff -s y -l side-by-side -d "Output in two columns"
+complete -c diff -s W -l width -x -d "Output at most NUM print columns"
+complete -c diff -s d -l minimal -d "Try to find a smaller set of changes"
+complete -c diff -l from-file -r -d "Compare FILE1 to all operands"
+complete -c diff -l to-file -r -d "Compare FILE2 to all operands"
+complete -c diff -s l -l paginate -d "Pass the output through 'pr'"
+complete -c diff -s v -l version -d "Output version info"
+complete -c diff -l help -d "Output usage information"
diff --git a/init/completions/du.fish b/init/completions/du.fish
new file mode 100644
index 00000000..f48930e2
--- /dev/null
+++ b/init/completions/du.fish
@@ -0,0 +1,20 @@
+complete -c du -s a -l all -d "Write size for all files"
+complete -c du -l apparent-size -d "Print file size, not disk usage"
+complete -c du -s B -l block-size -d "Block size"
+complete -c du -s b -l bytes -d "Use 1B block size"
+complete -c du -s c -l total -d "Produce grand total"
+complete -c du -s D -l dereference-args -d "Dereference file symlinks"
+complete -c du -s h -l human-readable -d "Human readable sizes"
+complete -c du -s H -l si -d "Human readable sizes, powers of 1000"
+complete -c du -s k -d "Use iKB block size"
+complete -c du -s l -l count-links -d "Count hard links multiple times"
+complete -c du -s L -l dereference -d "Dereference all symlinks"
+complete -c du -s S -l separate-dirs -d "Do not include subdirectory size"
+complete -c du -s s -l summarize -d "Display only a total for each argument"
+complete -c du -s x -l one-file-system -d "Skip other filesystems"
+complete -c du -s X -l exclude-from -r -d "Exclude files thet match pattern in file"
+complete -c du -l exclude -r -d "Exclude files that match pattern"
+complete -c du -l max-depth -r -d "Recursion limit"
+complete -c du -l help -d "Display help and exit"
+complete -c du -l version -d "Display version and exit"
+
diff --git a/init/completions/echo.fish b/init/completions/echo.fish
new file mode 100644
index 00000000..d9548497
--- /dev/null
+++ b/init/completions/echo.fish
@@ -0,0 +1,5 @@
+complete -c echo -s n -d "No newline"
+complete -c echo -s e -d "Use backslashe-escaped characters"
+complete -c echo -s E -d "Do not use backslash escaped characters"
+complete -c echo -l help -d "Display help and exit"
+complete -c echo -l version -d "Display version and exit"
diff --git a/init/completions/emacs.fish b/init/completions/emacs.fish
new file mode 100644
index 00000000..1ad23b0e
--- /dev/null
+++ b/init/completions/emacs.fish
@@ -0,0 +1,10 @@
+#
+# These completions are uncomplete
+#
+complete -c emacs -s q -d "Do not load init files"
+complete -c emacs -s u -d "Load users init file" -xa "(__fish_complete_users)"
+complete -c emacs -s t -d "Use file as terminal" -r
+complete -c emacs -s f -d "Execute Lisp function" -x
+complete -c emacs -s l -d "Load Lisp code from file" -r
+complete -c emacs -o nw -d "Do not use X interface"
+complete -uc emacs -s d -o display -d "Create window on the specified display" -x
diff --git a/init/completions/fish.fish b/init/completions/fish.fish
new file mode 100644
index 00000000..c244a15b
--- /dev/null
+++ b/init/completions/fish.fish
@@ -0,0 +1,5 @@
+complete -c fish -s c -l "command" -d "Run fish with this command"
+complete -c fish -s h -l help -d "Display help and exit"
+complete -c fish -l version -d "Display version and exit"
+complete -c fish -s i -l interactive -d "Run in interactive mode"
+complete -c fish -s p -l profile -d "Output profiling information to specified file" -f
diff --git a/init/completions/function.fish b/init/completions/function.fish
new file mode 100644
index 00000000..c8baba31
--- /dev/null
+++ b/init/completions/function.fish
@@ -0,0 +1,4 @@
+complete -c function -s d -l description -d "Set function description" -x
+complete -c function -xa "(functions -n)" -d "Function"
+complete -c function -xa "(builtin -n)" -d "Builtin"
+
diff --git a/init/completions/functions.fish b/init/completions/functions.fish
new file mode 100644
index 00000000..3a2c0bed
--- /dev/null
+++ b/init/completions/functions.fish
@@ -0,0 +1,6 @@
+complete -c functions -s e -l erase -d "Erase function" -x -a "(functions -n)"
+complete -c functions -xa "(functions -n)" -d "Function"
+complete -c functions -s a -l all -d "Show hidden functions"
+complete -c functions -s h -l help -d "Display help and exit"
+complete -c functions -s d -l description -d "Set function description" -x
+
diff --git a/init/completions/gcc.fish b/init/completions/gcc.fish
new file mode 100644
index 00000000..f02c525d
--- /dev/null
+++ b/init/completions/gcc.fish
@@ -0,0 +1,96 @@
+#
+# The gcc completion list is incomplete. There are just so many of them...
+#
+
+complete -c gcc -s x -d "Language" -x -a "
+ c
+ c-header
+ cpp-output
+ c++
+ c++-cpp-output
+ objective-c
+ objc-cpp-output
+ assembler
+ assembler-with-cpp
+ ada
+ f77
+ f77-cpp-input
+ ratfor
+ java
+ treelang
+ none
+"
+complete -c gcc -o pass-exit-codes -d "Pass program exit codes"
+complete -c gcc -s c -d "Stop after assembler"
+complete -c gcc -s S -d "Stop after compile"
+complete -c gcc -s E -d "Stop after preprocesswor"
+complete -c gcc -s o -r -d "Output file"
+complete -c gcc -s v -d "Print commands to stderr"
+complete -c gcc -o \#\#\# -d "Print quoted commands to stderr, do not run"
+complete -c gcc -o pipe -d "Use pipes"
+complete -c gcc -o ansi -d "Use ansi mode"
+complete -c gcc -o std -d "Standard mode" -x -a '
+ c89\t"ISO C90"
+ iso9899:1990\t"ISO C90"
+ iso9899:199409\t"ISO C90 as modified in amendment 1"
+ c99\t"ISO C99"
+ c9x \t"ISO C99"
+ iso9899:1999\t"ISO C99"
+ iso9899:199x\t"ISO C99"
+ gnu89\t"ISO C90 plus GNU extentions"
+ gnu99\t"ISO C99 plus GNU extentions"
+ gnu9x\t"ISO C99 plus GNU extentions"
+ c++98\t"ISO C++98"
+ gnu++98\t"ISO C++98 plus GNU extentions"
+'
+complete -c gcc -o aux-info -r -d "Write prototypes to file"
+complete -c gcc -o fno-asm -d "Do not recognize asm, inline or typeof keywords"
+complete -c gcc -o fno-builtin -d "Do not use builtin functions"
+complete -c gcc -o fhosted -d "Assert hosted environment"
+complete -c gcc -o ffreestanding -d "Assert freestanding environment"
+complete -c gcc -o fms-extensions -d "Use Microsoft extensions"
+complete -c gcc -o trigraphs -d "Use ANSI trigraphs"
+complete -c gcc -o no-integrated-cpp -d "Do not use integrated preprocessor"
+complete -c gcc -o funsigned-char -d "char is unsigned"
+complete -c gcc -o fsigned-char -d "char is signed"
+complete -c gcc -o funsigned-bitfields -d "bifield is unsigned"
+complete -c gcc -o fsigned-bitfields -d "bifield is signed"
+complete -c gcc -o fno-unsigned-bitfields -d "All bifields are signed"
+complete -c gcc -o fno-signed-bitfields -d "All bifield are signed"
+complete -c gcc -o fwritable-strings -d "String constants are not const"
+complete -c gcc -o fabi-version -d "C++ ABI version" -r -x -a "1 0"
+complete -c gcc -o fno-access-control -d "Turn off access checking"
+complete -c gcc -o fcheck-new -d "Check pointer returned by new"
+complete -c gcc -o fconserve-space -d "Put globals in the common segment"
+complete -c gcc -o fno-const-strings -d "String constants are not const"
+complete -c gcc -o fdollars-in-identifiers -d "Accept $ in identifiers"
+complete -c gcc -o fno-dollars-in-identifiers -d "Reject $ in identifiers"
+complete -c gcc -o fno-elide-constructors -d "Do not omit unneeded temporarys"
+complete -c gcc -o fno-enforce-eh-specs -d "Allow exception violations"
+complete -c gcc -o ffor-scope -d "Do not extend for-loop scope"
+complete -c gcc -o fno-for-scope -d "Extend for-loop scope"
+complete -c gcc -o fno-gnu-keywords -d "Do not recognize typeof as keyword"
+complete -c gcc -o fno-implicit-templates -d "Do not emit code for implicit templates"
+complete -c gcc -o fno-implicit-inline-templates -d "Do not emit code for implicit inline templates"
+complete -c gcc -o fno-implement-inlines -d "Do not emit out-of-line code for inline functions"
+complete -c gcc -o fms-extensions -d "Disable warnings about MFC"
+complete -c gcc -o fno-nonansi-builtins -d "Disable some built-in functions"
+complete -c gcc -o fno-operator-names -d "Disable operator keywords"
+complete -c gcc -o fno-optional-diags -d "Disable optional diagnostics"
+complete -c gcc -o fpermissive -d "Downgrade some errors to warnings"
+complete -c gcc -o frepo -d "Enable automatic template instantiation at link time"
+complete -c gcc -o fno-rtti -d "Disable generation of C++ runtime type information"
+#complete -c gcc -o fstats -d "Emit front-end usage statistics"
+
+for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17;
+ complete -c gcc -o ftemplate-depth-1 -d Set\ maximum\ template\ depth\ to\ $i;
+end;
+
+complete -c gcc -o fno-threadsafe-statistics -d "Do not emit code for thread-safe initialization of local statics"
+complete -c gcc -o fuse-cxa-atexit -d "Use __cxa_atexit for destructors"
+complete -c gcc -o fvisibility-inlines-hidden -d "Hides inline methods from export table"
+complete -c gcc -o fno-weak -d "Do not use weak symbol support"
+# gcc completion listing is incomplete.
+#complete -c gcc -o -d ""
+
+
diff --git a/init/completions/gprof.fish b/init/completions/gprof.fish
new file mode 100644
index 00000000..ae2a72ee
--- /dev/null
+++ b/init/completions/gprof.fish
@@ -0,0 +1,34 @@
+complete -c gprof -s A -l annoted-source -d "Print annotated source"
+complete -c gprof -s b -l brief -d "Do not print explanations"
+complete -c gprof -s C -l exec-counts -d "Print tally"
+complete -c gprof -s i -l file-info -d "Display summary"
+complete -c gprof -s I -l directory-path -d "Search directories for source"
+complete -c gprof -s J -l no-annotated-source -d "No annotated source"
+complete -c gprof -s L -l print-path -d "Print full path of source"
+complete -c gprof -s p -l flat-profile -d "Print flat profile"
+complete -c gprof -s P -l no-flat-profile -d "No flat profile"
+complete -c gprof -s q -l graph -d "Print call graph"
+complete -c gprof -s Q -l no-graph -d "No call graph"
+complete -c gprof -s y -l separate-files -d "Annotate to file"
+complete -c gprof -s Z -l no-exec-counts -d "No tally"
+complete -c gprof -l function-ordering -d "Suggest function ordering"
+complete -rc gprof -l file-ordering -d "Suggest file ordering"
+complete -c gprof -s T -l traditional -d "Traditional mode"
+complete -xc gprof -s w -l width -d "Set width of output"
+complete -c gprof -s x -l all-lines -d "Anotate every line"
+complete -xc gprof -l demangle -d "Set demangling style"
+complete -c gprof -l no-demangle -d "Turn of demangling"
+complete -xc gprof -s a -l no-static -d "Supress static functions"
+complete -xc gprof -s c -l static-call-graph -d ""
+complete -xc gprof -s D -l ignore-non-functions -d "Ignore symbols not known to be functions"
+complete -xc gprof -s k -r -d "Delete arcs from callgraph"
+complete -xc gprof -s l -l line -d "Line by line profiling"
+complete -xc gprof -s m -l min-count -r -d "Supress output when executed less than specified times"
+complete -xc gprof -s n -l time -d "Only propagate times for matching symbols"
+complete -xc gprof -s N -l no-time -d "Do not propagate times for matching symbols"
+complete -xc gprof -s z -l display-unused-functions -d "Mention unused functions in flat profile"
+complete -xc gprof -s d -l debug -d "Specify debugging options"
+complete -xc gprof -s h -l help -d "Print help and exit"
+complete -xc gprof -s v -l version -d "Print version and exit"
+complete -xc gprof -s O -l file-format -x -a "auto bsd 4.4bsd magic prof" -d "Profile data format"
+complete -xc gprof -s s -l sum -d "Print summary"
diff --git a/init/completions/grep.fish b/init/completions/grep.fish
new file mode 100644
index 00000000..cb4d54de
--- /dev/null
+++ b/init/completions/grep.fish
@@ -0,0 +1,47 @@
+
+complete -c grep -s A -l after-context -d "Print NUM lines of trailing context"
+complete -c grep -s a -l text -d "Process binary file as text"
+complete -c grep -s B -l before-context -d "Print NUM lines of leading context"
+complete -c grep -s C -l context -d "Print NUM lines of context"
+complete -c grep -s b -l byte-offset -d "Print byte offset of matches"
+complete -c grep -l binary-files -d "Assume data type for binary files" -x -a "binary text"
+complete -c grep -l colour -x -a "never always auto"
+complete -c grep -l color -x -a "never always auto"
+complete -c grep -s c -l count -d "Only print number of matches"
+complete -c grep -s D -l devices -x -a "read skip" -d "Action for devices"
+complete -c grep -s d -l directories -x -a "read skip recurse" -d "Action for directories"
+complete -c grep -s E -l extended-regexp -d "Pattern is extended regexp"
+complete -xc grep -s e -l regexp -d "Pattern is a regexp"
+complete -c grep -s F -l fixed -d "Pattern is a fixed string"
+complete -c grep -s f -l file -r -d "Use pattern from file"
+complete -c grep -s G -l basic-regexp -d "Pattern is basic regex"
+complete -c grep -s H -l with-filename -d "Print filename"
+complete -c grep -s h -l no-filename -d "Supress printing filename"
+complete -c grep -l help -d "Display help and exit"
+complete -c grep -s I -d "Skip binary files"
+complete -c grep -s i -l ignore-case -d "Ignore case"
+complete -c grep -s L -l files-without-match -d "Print first non-matching file"
+complete -c grep -s l -l files-with-match -d "Print first matching file"
+complete -c grep -s m -l max-count -d "Stop reading after NUM matches"
+complete -c grep -l mmap -d "Use the mmap system call to read input"
+complete -c grep -s n -l line-number -d "Print linenumber"
+complete -c grep -s o -l only-matching -d "Show only matching part"
+complete -c grep -l label -d "Rename stdin"
+complete -c grep -l line-buffered -d "Use line buffering"
+complete -c grep -s q -l quiet -d "Do not write anything"
+complete -c grep -l silent -d "Do not write anything"
+complete -c grep -s R -l recursive -d "Read files under each directory"
+complete -c grep -s r -d "Read files under each directory"
+complete -c grep -l include -d "Recurse, search file matching PATTERN"
+complete -c grep -l exclude -d "Recurse, skip file matching PATTERN"
+complete -c grep -s s -l no-messages -d "Suppress error messages"
+complete -c grep -s U -l binary -d "Treat files as binary"
+complete -c grep -s u -l unix-byte-offsets -d "Report Unix-style byte offsets"
+complete -c grep -s V -l version -d "Print the version number"
+complete -c grep -s v -l invert-match -d "Invert the sense of matching"
+complete -c grep -s w -l word-regexp -d "Only whole matching words"
+complete -c grep -s x -l line-regexp -d "Only whole matching lines"
+complete -c grep -s y -d "Synonym for -i"
+complete -c grep -s Z -l null -d "Output a zero byte after filename"
+
+
diff --git a/init/completions/gunzip.fish b/init/completions/gunzip.fish
new file mode 100644
index 00000000..b1bdf158
--- /dev/null
+++ b/init/completions/gunzip.fish
@@ -0,0 +1,25 @@
+complete -c gunzip -s c -l stdout -d "Compress to stdout"
+complete -c gunzip -x -a "(
+ __fish_complete_suffix (commandline -ct) .gz 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .tgz 'Compressed archive'
+)
+"
+complete -c gunzip -s f -l force -d "Overwrite"
+complete -c gunzip -s h -l help -d "Display help"
+complete -c gunzip -s l -l list -d "List compression information"
+complete -c gunzip -s L -l license -d "Print license"
+complete -c gunzip -s n -l no-name -d "Do not save/restore filename"
+complete -c gunzip -s N -l name -d "Save/restore filename"
+complete -c gunzip -s q -l quiet -d "Supress warnings"
+complete -c gunzip -s r -l recursive -d "Recurse directories"
+complete -c gunzip -s S -l suffix -r -d "Suffix"
+complete -c gunzip -s t -l test -d "Check integrity"
+complete -c gunzip -s v -l verbose -d "Display compression ratios"
+complete -c gunzip -s V -l version -d "Display version"
+
+complete -c gunzip -x -a "(
+ __fish_complete_suffix (commandline -ct) .gz 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .tgz 'Compressed archive'
+)
+"
+
diff --git a/init/completions/gzip.fish b/init/completions/gzip.fish
new file mode 100644
index 00000000..889dd9f8
--- /dev/null
+++ b/init/completions/gzip.fish
@@ -0,0 +1,23 @@
+complete -c gzip -s c -l stdout -d "Compress to stdout"
+complete -c gzip -s d -l decompress -x -a "
+(
+ __fish_complete_suffix (commandline -ct) .gz 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .tgz 'Compressed archive'
+)
+"
+
+complete -c gzip -s f -l force -d "Overwrite"
+complete -c gzip -s h -l help -d "Display help"
+complete -c gzip -s l -l list -d "List compression information"
+complete -c gzip -s L -l license -d "Print license"
+complete -c gzip -s n -l no-name -d "Do not save/restore filename"
+complete -c gzip -s N -l name -d "Save/restore filename"
+complete -c gzip -s q -l quiet -d "Supress warnings"
+complete -c gzip -s r -l recursive -d "Recurse directories"
+complete -c gzip -s S -l suffix -r -d "Suffix"
+complete -c gzip -s t -l test -d "Check integrity"
+complete -c gzip -s v -l verbose -d "Display compression ratios"
+complete -c gzip -s V -l version -d "Display version"
+complete -c gzip -s 1 -l fast -d "Use fast setting"
+complete -c gzip -s 9 -l best -d "Use high compression setting"
+
diff --git a/init/completions/help.fish b/init/completions/help.fish
new file mode 100644
index 00000000..ca2748f3
--- /dev/null
+++ b/init/completions/help.fish
@@ -0,0 +1,29 @@
+#
+# Completions for the help command
+#
+
+for i in (builtin -n)
+ complete -c help -x -a $i -d 'Help for the '$i' builtin'
+end
+
+for i in syntax todo bugs history;
+ complete -c help -x -a $i -d 'Help section on '$i
+end
+
+complete -c help -x -a completion -d "Help on how tab-completion works"
+complete -c help -x -a job-control -d "Help on how job control works"
+complete -c help -x -a difference -d "Summary on how fish differs from other shells"
+
+complete -c help -x -a prompt -d "Help on how to set the prompt"
+complete -c help -x -a title -d "Help on how to set the titlebar message"
+complete -c help -x -a killring -d "Help on how to copy and paste"
+complete -c help -x -a editor -d "Help on editor shortcuts"
+complete -c help -x -a expand -d "Help on parameter expantion (Globbing)"
+complete -c help -x -a globbing -d "Help on parameter expantion (Globbing)"
+complete -c help -x -a variables -d "Help on environment variables"
+complete -c help -x -a color -d "Help on setting syntax highlighting colors"
+complete -c help -x -a prompt -d "Help on changing the prompt"
+complete -c help -x -a title -d "Help on changing the titlebar messages"
+complete -c help -x -a builtin-overview -d "A short summary of all builtin commands"
+complete -c help -x -a changes -d "The changelog"
+
diff --git a/init/completions/id.fish b/init/completions/id.fish
new file mode 100644
index 00000000..9b015eb8
--- /dev/null
+++ b/init/completions/id.fish
@@ -0,0 +1,8 @@
+complete -c id -s g -l group -d "Print effective group id"
+complete -c id -s G -l groups -d "Print all group ids"
+complete -c id -s n -l name -d "Print name, not number"
+complete -c id -s r -l real -d "Print real ID, not effective"
+complete -c id -s u -l user -d "Print effective user ID"
+complete -c id -l help -d "Display help and exit"
+complete -c id -l version -d "Display version and exit"
+
diff --git a/init/completions/ifconfig.fish b/init/completions/ifconfig.fish
new file mode 100644
index 00000000..7f8f3346
--- /dev/null
+++ b/init/completions/ifconfig.fish
@@ -0,0 +1,25 @@
+complete -x -c ifconfig -a down -d "Stop interface"
+complete -x -c ifconfig -a up -d "Start interface"
+complete -x -c ifconfig -a "
+ {,-}arp
+ {,-}promisc
+ {,-}allmulti
+ metric
+ mtu
+ dstaddr
+ netmask
+ add
+ del
+ tunnel
+ irq
+ io_addr
+ mem_start
+ media
+ {,-}broadcast
+ {,-}pointopoint
+ hw
+ multicast
+ address
+ txqueuelen
+"
+complete -x -c ifconfig -a "(__fish_print_interfaces)" -d "Network interface"
diff --git a/init/completions/kill.fish b/init/completions/kill.fish
new file mode 100644
index 00000000..7cd108d6
--- /dev/null
+++ b/init/completions/kill.fish
@@ -0,0 +1,35 @@
+# Completions for the kill command
+
+if kill -L ^/dev/null >/dev/null
+
+ # Debian and some related systems use 'kill -L' to write out a numbered list
+ # of signals. Use this to complete on both number _and_ on signal name.
+
+ complete -c kill -s L -d "List codes and names of available signals"
+
+ set -- signals (kill -L | sed -r 's/([0-9]+) +([A-Z,0-9]+)/\1 \2\n/g;s/ +/ /g' | sed 's/^ //' | grep -E '^[^ ]+')
+ for i in $signals
+ set -- number (echo $i | cut -d " " -f 1)
+ set -- name (echo $i | cut -d " " -f 2)
+ complete -c kill -o $number -d $name
+ complete -c kill -o $name -d $name
+ complete -c kill -o s -x -a \"$number\tSend\ $name\ signal\" -d "Send specified signal"
+ complete -c kill -o s -x -a \"$name\tSend\ $name\ signal\" -d "Send specified signal"
+ end
+
+else
+
+ # Other systems print out a list of signals in an unspecified way on
+ # 'kill -l'. We complete with anything that looks like a signal name.
+
+ complete -c kill -s l -d "List codes and names of available signals"
+
+ for i in (kill -l|tr \ \t \n|grep "^[A-Z][A-Z0-9]*$")
+ complete -c kill -o $i -d Send\ $i\ signal
+ complete -c kill -o s -x -a $i\tSend\ $i\ signal -d "Send specified signal"
+ end
+end
+
+complete -c kill -xa "(__fish_complete_pids)"
+complete -c kill -s l -d "List names of available signals"
+
diff --git a/init/completions/less.fish b/init/completions/less.fish
new file mode 100644
index 00000000..f5413ec9
--- /dev/null
+++ b/init/completions/less.fish
@@ -0,0 +1,52 @@
+complete -c less -s \? -l help -d "Display help and exit"
+complete -c less -s a -l search-skip-screen -d "Search after end of screen"
+complete -c less -s b -l buffers -r -d "Buffer space"
+complete -c less -s B -l auto-buffers -d "Disable automtic buffer allocation"
+complete -c less -s c -l clear-screen -d "Repaint from top"
+complete -c less -s C -l CLEAR-SCREEN -d "Clear and repaint from top"
+complete -c less -s d -l dumb -d "Supress error for lacking terminal capability"
+complete -c less -s e -l quit-at-eof -d "Exit on second EOF"
+complete -c less -s E -l QUIT-AT-EOF -d "Exit on EOF"
+complete -c less -s f -l force -d "Open non-regular files"
+complete -c less -s F -l quit-if-one-screen -d "Quit if file shorter than one screen"
+complete -c less -s g -l hilite-search -d "Hilight one search target"
+complete -c less -s G -l HILITE-SEARCH -d "No search highlighting"
+complete -c less -s h -l max-back-scroll -d "Maximum backward scroll" -r -a "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"
+complete -c less -s i -l ignore-case -d "Search ignores lowercase case"
+complete -c less -s I -l IGNORE-CASE -d "Search ignores all case"
+complete -c less -s j -l jump-target -d "Target line" -r -a "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19"
+complete -c less -s J -l status-column -d "Display status column"
+complete -c less -s k -l lesskey-file -d "Specify key bindings file" -r
+complete -c less -s L -l no-lessopen -d "Ignore $LESSOPEN"
+complete -c less -s m -l long-prompt -d "Prompt with percentage"
+complete -c less -s M -l LONG-PROMPT -d "Verbose prompt"
+complete -c less -s n -l line-numbers -d "Display line number"
+complete -c less -s N -l LINE-NUMBERS -d "Display line number for each line"
+complete -c less -s o -l log-file -d "Log input to file" -r
+complete -c less -s O -l LOG-FILE -d "Log to file, overwrite" -r
+complete -c less -s p -l pattern -d "Start at first occorance of pattern" -r
+complete -c less -s P -l prompt -d "Prompt string" -r
+complete -c less -s q -l quiet -d "Silent mode"
+complete -c less -l silent -d "Silent mode"
+complete -c less -s Q -l QUIET -d "Completly silent mode"
+complete -c less -l SILENT -d "Completly silent mode"
+complete -c less -s r -l raw-control-chars -d "Display control chars"
+complete -c less -s R -l RAW-CONTROL-CHARS -d "Display control chars, guess screen appearance"
+complete -c less -s s -l squeeze-blank-lines -d "Miltiple blank lines sqeezed"
+complete -c less -s S -l chop-long-lines -d "Do not fold long lines"
+complete -c less -s t -l tag -d "Edit tag" -r
+complete -c less -s T -l tag-file -d "Set tag file" -r
+complete -c less -s u -l underline-special -d "Allow backspace and carriage return"
+complete -c less -s U -l UNDERLINE-SPECIAL -d "Allow backspace, tab and carriage return"
+complete -c less -s V -l version -d "Display version and exit"
+complete -c less -s w -l hilite-unread -d "Flash first unread line on new page"
+complete -c less -s W -l HILITE-UNREAD -d "Flash first unread line on any movement"
+complete -c less -s x -l tabs -d "set tab stops" -r -a "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16"
+complete -c less -s X -l no-init -d "No termcap init"
+complete -c less -l no-keypad -d "No keypad init"
+complete -c less -s y -l max-forw-scroll -d "Maximum forward scroll" -r -a "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"
+complete -c less -s z -l window -d "Max scroll window" -r -d "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"
+complete -c less -s \" -l quotes -d "Set quote char" -r
+complete -c less -s \~ -l tilde -d "Lines after EOF are blank"
+complete -c less -s \# -l shift -d "Scroll on arrows" -a "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"
+
diff --git a/init/completions/ls.fish b/init/completions/ls.fish
new file mode 100644
index 00000000..5653ccfc
--- /dev/null
+++ b/init/completions/ls.fish
@@ -0,0 +1,71 @@
+complete -c ls -s a -l all -d "Show hidden"
+complete -c ls -s A -l almost-all -d "Show hidden except . and .."
+complete -c ls -l author -d "Print author"
+complete -c ls -s b -l escape -d "Octal escapes for non graphic"
+complete -c ls -l blocksize -x -d "Use SIZE-byte blocks"
+complete -c ls -s B -l ignore-backups -d "Ignore files ending with ~"
+complete -c ls -s c -d "Show and sort by ctime"
+complete -c ls -s C -d "List by columns"
+complete -c ls -l color -f -a "never always auto" -d "Show colors"
+complete -c ls -s d -l directory -d "List directories"
+complete -c ls -s D -l dired -d "Generate dired output"
+complete -c ls -s f -d "Do not sort"
+complete -c ls -s F -l classify -d "Append filetype indicator"
+complete -c ls -l format -x -a "across commas horizontal long single-column verbose vertical" -d "List format"
+complete -c ls -l full-time -d "Long forma, full-iso time"
+complete -c ls -s g -d "Long format without owner"
+complete -c ls -s G -l no-group -d "Do not print group information"
+complete -c ls -s h -l human-readable -d "Human readable size"
+complete -c ls -l si -d "Human readable size, base 1000"
+complete -c ls -s H -l dereference-command-line -d "Follow symlinks"
+complete -c ls -l dereference-command-line-symlink-to-dir #-d "Follow directory symlinks from command line"
+complete -c ls -l indicator-style -x -a "none classify file-type" -d "Append indicator to entry"
+complete -c ls -s i -l inode -d "Print index number of files"
+complete -c ls -s I -l ignore -r -d "Skip entries matching pattern"
+complete -c ls -s k -d "like --block-size=1K"
+complete -c ls -s l -d "Long format"
+complete -c ls -s L -l dereference -d "Follow symlinks"
+complete -c ls -s m -d "Comma separated format"
+complete -c ls -s n -l numeric-uid-gid -d "Long format, numeric IDs"
+complete -c ls -s N -l literal -d "Print raw entry names"
+complete -c ls -s o -d "Long format without groups"
+complete -c ls -s p -l file-type -d "Append indicator"
+complete -c ls -s q -l hide-control-chars -d "? fo non graphic"
+complete -c ls -l show-control-chars -d "Non graphic as-is"
+complete -c ls -s Q -l quote-name -d "Enclose entry in quotes"
+complete -c ls -l quoting-style -x -a "literal locale shell shell-always c escape" -d "Select quoting style"
+complete -c ls -s r -l reverse -d "Reverse sort order"
+complete -c ls -s R -l recursive -d "List subdirectory recursively"
+complete -c ls -s s -l size -d "Print size of files"
+complete -c ls -s S -d "Sort by size"
+complete -c ls -l sort -x -d "Sort criteria" -a "
+ extension\t'Sort by file extension'
+ none\t'Do not sort'
+ size\t'Sort by size'
+ time\t'Sort by modification time'
+ version\t'Sort by version'
+ status\t'Sort by file status modification time'
+ atime\t'Sort by access time'
+ access\t'Sort by access time'
+ use\t'Sort by access time'
+"
+complete -c ls -l time -x -d "Show time type" -a "
+ time\t'Sort by modification time'
+ access\t'Sort by access time'
+ use\t'Sort by use time'
+ ctime\t'Sort by file status modification time'
+ status\t'Sort by status time'
+"
+complete -c ls -l time-style -x -a "full-iso long-iso iso locale" -d "Select time style"
+complete -c ls -s t -d "Sort by modification time"
+complete -c ls -s T -l tabsize -x -a "1 2 3 4 5 6 7 8 9 10 11 12" -d "Assume tab stops at each COLS"
+complete -c ls -s u -d "Show access time"
+complete -c ls -s U -d "Do not sort"
+complete -c ls -s v -d "Sort by version"
+complete -c ls -s w -l width -x -d "Assume screen width"
+complete -c ls -s x -d "List entries by lines"
+complete -c ls -s X -d "sort by extension"
+complete -c ls -s 1 -d "List one file per line"
+complete -c ls -l help -d "Display help and exit"
+complete -c ls -l version -d "Output version and exit"
+
diff --git a/init/completions/make.fish b/init/completions/make.fish
new file mode 100644
index 00000000..fc83c11d
--- /dev/null
+++ b/init/completions/make.fish
@@ -0,0 +1,23 @@
+#Completions for make
+complete -x -c make -a "(grep -h -E '^[^#%=\t$][^#%=$]*:([^=]|$)' Makefile makefile GNUmakefile | cut -d ":" -f 1 | sed -r 's/^ *//;s/ *$//;s/ +/\n/g' ^/dev/null)" -d "Target"
+complete -r -c make -s f -d "Use file as makefile" -r
+complete -x -c make -s C -x -a "(__fish_complete_directory (commandline -ct))" -d "Change directory"
+complete -c make -s d -d "Debug"
+complete -c make -s e -d "Environment before makefile"
+complete -c make -s i -d "Ignore errors"
+complete -x -c make -s I -d "Search directory for Makefile" -a "(__fish_complete_directory (commandline -ct))"
+complete -x -c make -s j -d "Number of jobs"
+complete -c make -s k -d "Continue after an error"
+complete -c make -s l -d "Start when load drops"
+complete -c make -s n -d "Do not execute commands"
+complete -c make -s o -r -d "Ignore specified file"
+complete -c make -s p -d "Print database"
+complete -c make -s q -d "Question mode"
+complete -c make -s r -d "Eliminate implicit rules"
+complete -c make -s s -d "Silent operation"
+complete -c make -s S -d "Cancel the effect of -k"
+complete -c make -s t -d "Touch files, dont run commands"
+complete -c make -s v -d "Print version"
+complete -c make -s w -d "Print working directory"
+complete -c make -s W -r -d "Pretend file is modified"
+
diff --git a/init/completions/makedepend.fish b/init/completions/makedepend.fish
new file mode 100644
index 00000000..f5455b8e
--- /dev/null
+++ b/init/completions/makedepend.fish
@@ -0,0 +1,13 @@
+complete -c makedepend -s D -r -d "Define"
+complete -c makedepend -s I -r -d "Include directory"
+complete -c makedepend -s Y -r -d "Replace include directories"
+complete -c makedepend -s a -d "Append dependencies to makefile"
+complete -c makedepend -s f -r -d "Specify makefile"
+complete -c makedepend -o include -r -d "Prepend file to input"
+complete -c makedepend -s o -r -d "Object file suffix"
+complete -c makedepend -s p -r -d "Object file prefix"
+complete -c makedepend -s s -r -d "Starting string delimiter"
+complete -c makedepend -s w -r -d "Line width"
+complete -c makedepend -s v -d "Verbose mode"
+complete -c makedepend -s m -d "Warn about multiple inclusion"
+
diff --git a/init/completions/man.fish b/init/completions/man.fish
new file mode 100644
index 00000000..6c7a9779
--- /dev/null
+++ b/init/completions/man.fish
@@ -0,0 +1,64 @@
+
+function __fish_complete_man
+ if test (commandline -ct)
+
+ # Try to guess what section to search in. If we don't know, we
+ # use [^)]*, which should match any section
+
+ set section ""
+ set prev (commandline -poc)
+ set -e prev[1]
+ while count $prev
+ switch $prev[1]
+ case '-**'
+
+ case '*'
+ set section $prev[1]
+ end
+ set -e prev[1]
+ end
+
+ set section $section"[^)]*"
+
+ # Do the actual search
+ apropos (commandline -ct) | grep \^(commandline -ct) | sed -n -e 's/\([^ ]*\).*(\('$section'\)) *- */\1\t\2: /p'
+ end
+end
+
+
+
+complete -xc man -a "(__fish_complete_man)"
+
+complete -xc man -a 1 -d "Program section"
+complete -xc man -a 2 -d "Syscall section"
+complete -xc man -a 3 -d "Library section"
+complete -xc man -a 4 -d "Device section"
+complete -xc man -a 5 -d "File format section"
+complete -xc man -a 6 -d "Games section"
+complete -xc man -a 7 -d "Misc section"
+complete -xc man -a 8 -d "Admin section"
+complete -xc man -a 9 -d "Kernel section"
+complete -xc man -a tcl -d "Tcl section"
+complete -xc man -a n -d "New section"
+complete -xc man -a l -d "Local section"
+complete -xc man -a p
+complete -xc man -a o -d "Old section"
+complete -rc man -s C -d "Configuration file"
+complete -xc man -s M -a "(__fish_complete_directory (commandline -ct))" -d "Manpath"
+complete -rc man -s P -d "Pager"
+complete -xc man -s S -d "Manual sections"
+complete -c man -s a -d "Display all matches"
+complete -c man -s c -d "Always reformat"
+complete -c man -s d -d "Debug"
+complete -c man -s D -d "Debug and run"
+complete -c man -s f -d "Whatis"
+complete -c man -s F -l preformat -d "Format only"
+complete -c man -s h -d "Display help and exit"
+complete -c man -s k -d "Apropos"
+complete -c man -s K -d "Search in all man pages"
+complete -xc man -s m -d "Set system"
+complete -xc man -s p -d "Preprocessors"
+complete -c man -s t -d "Format for printing"
+complete -c man -s w -l path -d "Only print locations"
+complete -c man -s W -d "Only print locations"
+
diff --git a/init/completions/mimedb.fish b/init/completions/mimedb.fish
new file mode 100644
index 00000000..a7bc6930
--- /dev/null
+++ b/init/completions/mimedb.fish
@@ -0,0 +1,9 @@
+complete -c mimedb -s t -l input-file-data -d "Input is a file, use name and contents to determine mimetype"
+complete -c mimedb -s f -l input-filename -d "Input is a file, use name to determine mimetype"
+complete -c mimedb -s i -l input-mime -d "Input is a mimetype"
+complete -c mimedb -s m -l output-mime -d "Output mimetype"
+complete -c mimedb -s d -l output-description -d "Output description of mimetype"
+complete -c mimedb -s a -l output-action -d "Output default action for mimetype"
+complete -c mimedb -s l -l launch -d "Launch default action for each file"
+complete -c mimedb -s h -l help -d "Display help and exit"
+complete -c mimedb -s v -l version -d "Display version and exit"
diff --git a/init/completions/modprobe.fish b/init/completions/modprobe.fish
new file mode 100644
index 00000000..af0e35d2
--- /dev/null
+++ b/init/completions/modprobe.fish
@@ -0,0 +1,23 @@
+
+complete -c modprobe -d Module -a "/sbin/modprobe -l|sed -re 's/\/.*\/([^\/.]*).*/\1/'"
+complete -c modprobe -s v -l verbose -d "Print messages about what the program is doing"
+complete -c modprobe -s C -l config -d "Configuration file" -r
+complete -c modprobe -s c -l showconfig -d "Dump configuration file"
+complete -c modprobe -s n -l dry-run -d "Do not actually insert/remove module"
+complete -c modprobe -s i -l ingnore-install -d "Ignore install and remove commands in configuration file"
+complete -c modprobe -l ingnore-remove -d "Ignore install and remove commands in configuration file"
+complete -c modprobe -s q -l quiet -d "Ignore bogus module names"
+complete -c modprobe -s r -l remove -d "Remove modules"
+complete -c modprobe -s V -l version -d "Display version and exit"
+complete -c modprobe -s f -l force -d "Ignore all version information"
+complete -c modprobe -l force-vermagic -d "Ignore version magic information"
+complete -c modprobe -l force-modversion -d "Ignore module interface version"
+complete -c modprobe -s l -l list -d "List all modules matching the given wildcard"
+complete -c modprobe -s a -l all -d "Insert modules matching the given wildcard"
+complete -c modprobe -s t -l type -d "Restrict wildcards to specified directory"
+complete -c modprobe -s s -l syslog -d "Send error messages through syslog"
+complete -c modprobe -l set-version -d "Specify kernel version"
+complete -c modprobe -l show-depends -d "List dependencies of module"
+complete -c modprobe -s o -l name -d "Rename module"
+complete -c modprobe -l first-time -d "Fail if inserting already loaded module"
+
diff --git a/init/completions/mount.fish b/init/completions/mount.fish
new file mode 100644
index 00000000..26adc8ba
--- /dev/null
+++ b/init/completions/mount.fish
@@ -0,0 +1,68 @@
+
+
+# A list of all known filesystem types, used by various completions,
+# including mount and df
+
+set -g __fish_filesystems "
+ adfs
+ affs
+ autofs
+ coda
+ coherent
+ cramfs
+ devpts
+ efs
+ ext
+ ext2
+ ext3
+ hfs
+ hpfs
+ iso9660
+ jfs
+ minix
+ msdos
+ ncpfs
+ nfs
+ ntfs
+ proc
+ qnx4
+ ramfs
+ reiserfs
+ romfs
+ smbfs
+ sysv
+ tmpfs
+ udf
+ ufs
+ umsdos
+ vfat
+ xenix
+ xfs
+ xiafs
+"
+
+# Completions for mount
+complete -x -c mount -a "(cat /etc/fstab|sed -e 's/^\([^ \t]*\)[ \t]*\([^ \t]*\).*/\1\n\2/'|grep '^/')" -d "Mount point"
+complete -c mount -s V -d "Display version and exit"
+complete -c mount -s h -d "Display help and exit"
+complete -c mount -s v -d "Verbose mode"
+complete -c mount -s a -d "Mount filesystems in fstab"
+complete -c mount -s F -d "Fork process for each mount"
+complete -c mount -s f -d "Fake mounting"
+complete -c mount -s l -d "Add label to output"
+complete -c mount -s n -d "Do not write mtab"
+complete -c mount -s s -d "Tolerate sloppy mount options"
+complete -c mount -s r -d "Read only"
+complete -c mount -s w -d "Read/Write mode"
+complete -x -c mount -s L -d "Mount partition with specified label"
+complete -x -c mount -s U -d "Mount partition with specified UID"
+complete -c mount -s O -x -d "Exclude filesystems"
+complete -c mount -l bind -f -d "Remount a subtree to a second position"
+complete -c mount -l move -f -d "Move a subtree to a new position"
+complete -c mount -x -s t -d "Filesystem" -a $__fish_filesystems
+
+complete -c mount -x -s o -d "Mount option" -a "(__fish_append ',' $__fish_mount_opts)"
+
+set -g __fish_mount_opts async\tUse\ asynchronous\ I/O atime\tUpdate\ time\ on\ each\ access auto\tMounted\ with\ -a defaults\tUse\ default\ options dev\tInterpret\ character/block\ special\ devices exec\tPermit\ executables _netdev\tFilesystem\ uses\network noatime\tDo\ not\ update\ time\ on\ each\ access noauto\tNot\ mounted\ by\ -a nodev\tDo\ not\ interpret\ character/block\ special\ devices noexec\tDo\ not\ permit\ executables nosuid\tIgnore\ suid\ bits nouser\tOnly\ root\ may\ mount remount\tRemount\ read-only\ filesystem ro\tMount\ read-only rw\tMount\ read-write suid\tAllow\ suid\ bits sync\tUse\ synchronous\ I/O dirsync\tUse\ synchronous\ directory\ operations user\tAny\ user\ may\ mount users\tAny\ user\ may\ mount\ and\ unmount
+
+
diff --git a/init/completions/mplayer.fish b/init/completions/mplayer.fish
new file mode 100644
index 00000000..ace11432
--- /dev/null
+++ b/init/completions/mplayer.fish
@@ -0,0 +1,85 @@
+# Completions for mplayer (Incomplete, there are too many options and
+# I am too lazy. Please send in suggested additions)
+
+#
+# List of two letter language codes for dvd audio, etc. Very
+# incomplete. Please send in additions.
+#
+
+set mplayer_lang "
+ de\tGerman
+ dk\tDanish
+ en\tEnglish
+ es\tSpanish
+ fi\tFinnish
+ fr\tFrench
+ gr\tGreek
+ hu\tHungarian
+ it\tItalian
+ jp\tJapanese
+ no\tNorwegian
+ hu\tHungarian
+ pl\tPolish
+ pt\tPortugese
+ se\Swedish
+"
+
+complete -c mplayer -o autoq -d "Dynamically change postprocessing" -x
+complete -c mplayer -o autosync -x -d "A/V sync speed"
+complete -c mplayer -o framedrop -d "Skip frames to maintain A/V sync"
+complete -c mplayer -s h -o help -d "Show help and exit"
+complete -c mplayer -o hardframedrop -d "Skip frames to maintain A/V sync"
+complete -c mplayer -o loop -x -d "Loop playback" -r -a "0 1 2 3 4 5 6 7 8 9"
+complete -c mplayer -o shuffle -d "Play in random order"
+
+complete -c mplayer -s h -o help -d "Display help and exit"
+complete -c mplayer -o fs -d "Full screen"
+complete -c mplayer -o playlist -d "Set playlist"-r
+complete -c mplayer -o alang -d "Audio language" -x -a $mplayer_lang
+complete -c mplayer -o audiofile -d "Play audio from file" -r
+complete -c mplayer -o cdrom-device -d "Set default CD-ROM drive"
+complete -c mplayer -o channels -d "Set number of audio channels" -x -a "2 4 6"
+complete -c mplayer -o chapter -d "Set start chapter" -x
+complete -c mplayer -o dvd-device -d "Set default DVD-ROM drive"
+complete -c mplayer -o dvdangle -d "Set dvd viewing angle" -x -a "1 2 3 4 5 6 7 8"
+complete -c mplayer -o forceidx -d "Force rebuilding index"
+complete -c mplayer -o fps -d "Override framerate" -x -a "24 25 30"
+complete -c mplayer -o idx -d "Rebuild index if unavailable"
+complete -c mplayer -o loadidx -d "Load index from file" -r
+complete -c mplayer -o ni -d "Force non-interleaved AVI parser"
+complete -c mplayer -o saveidx -d "Rebuild index and save to file" -r
+complete -c mplayer -o ss -d "Seek to give time position" -x
+complete -c mplayer -o tv -d "TV capture mode"
+complete -c mplayer -o slang -d "Subtitle language" -x -a $mplayer_lang
+complete -c mplayer -o sub -d "Subtitle file" -r
+complete -c mplayer -o unicode -d "Handle subtitlefile as unicode"
+complete -c mplayer -o utf8 -d "Handle subtitlefile as utf8"
+
+complete -c mplayer -o vo -x -d "Video output" -a "
+(
+ mplayer -vo help|grep \t.\*\t'\|^ *[a-zA-Z0-9][a-zA-Z0-9]* '|sed -e 's/[\t ]*\([a-zA-Z0-9]*\)[\t ]*\(.*\)/\1\t\2/'
+)
+"
+
+complete -c mplayer -o ao -x -d "Audio output" -a "
+(
+ mplayer -ao help|grep \t.\*\t'\|^ *[a-zA-Z0-9][a-zA-Z0-9]* '|sed -e 's/[\t ]*\([a-zA-Z0-9]*\)[\t ]*\(.*\)/\1\t\2/'
+)
+"
+
+complete -c mplayer -o afm -x -d "Audio output" -a "
+(
+ __fish_append ',' (mplayer -afm help|grep \t.\*\t'\|^ *[a-zA-Z0-9][a-zA-Z0-9]* '|sed -e 's/[\t ]*\([a-zA-Z0-9]*\)[\t ]*\(.*\)/\1\t\2/')
+)
+"
+
+complete -c mplayer -o vfm -x -d "Video output" -a "
+(
+ __fish_append ',' (mplayer -vfm help|grep \t.\*\t'\|^ *[a-zA-Z0-9][a-zA-Z0-9]* '|sed -e 's/[\t ]*\([a-zA-Z0-9]*\)[\t ]*\(.*\)/\1\t\2/')
+)
+"
+
+complete -c mplayer -l help -d "Display help and exit"
+complete -c mplayer -l version -d "Display version and exit"
+
+set -e mplayer_lang
diff --git a/init/completions/mv.fish b/init/completions/mv.fish
new file mode 100644
index 00000000..dbb6aed2
--- /dev/null
+++ b/init/completions/mv.fish
@@ -0,0 +1,12 @@
+complete -c mv -s b -l backup -d "Make backup of each existing destination file"
+complete -c mv -s f -l force -d "Do not prompt before overwriting"
+complete -c mv -s i -l interactive -d "Prompt before overwrite"
+complete -c mv -l reply -x -a "yes no query" -d "Answer for overwrite questions"
+complete -c mv -l strip-trailing-slashes -d "Remove trailing slashes from source"
+complete -c mv -s S -l suffix -r -d "Backup suffix"
+complete -c mv -l target-directory -d "Target directory" -x -a "(__fish_complete_directory (commandline -ct) 'Target directory')"
+complete -c mv -s u -l update -d "Do not overwrite newer files"
+complete -c mv -s v -l vervose -d "Explain what is done"
+complete -c mv -l help -d "Display help and exit"
+complete -c mv -l version -d "Display version and exit"
+
diff --git a/init/completions/nextd.fish b/init/completions/nextd.fish
new file mode 100644
index 00000000..be515cc5
--- /dev/null
+++ b/init/completions/nextd.fish
@@ -0,0 +1 @@
+complete -c nextd -s l -d "Also print directory history"
diff --git a/init/completions/perl.fish b/init/completions/perl.fish
new file mode 100644
index 00000000..d17e82c1
--- /dev/null
+++ b/init/completions/perl.fish
@@ -0,0 +1,20 @@
+complete -c perl -s 0 -d "Specify record separator"
+complete -c perl -s a -d "Feed input to split"
+complete -c perl -s c -d "Check syntax"
+complete -c perl -s d -d "Debugger"
+complete -c perl -s D -x -d "Debug option"
+complete -c perl -s e -x -d "Execute command"
+complete -c perl -s F -d "Set regexp used to split input"
+complete -c perl -s i -d "Edit files in-place"
+complete -c perl -s I -d "Include path"
+complete -c perl -s l -d "Line ending processing"
+complete -c perl -s n -d "Loop script"
+complete -c perl -s p -d "Loop script, print $_"
+complete -c perl -s P -d "Invoke CPP"
+complete -c perl -s s -d "Define custom switches"
+complete -c perl -s S -d "Search $PATH for script"
+complete -c perl -s T -d "Taint checking"
+complete -c perl -s U -d "Unsafe mode"
+complete -c perl -s v -d "Display version"
+complete -c perl -s x -d "Extract script"
+
diff --git a/init/completions/pine.fish b/init/completions/pine.fish
new file mode 100644
index 00000000..655804ea
--- /dev/null
+++ b/init/completions/pine.fish
@@ -0,0 +1,26 @@
+complete -c pine -s f -d "Open folder" -a "(cd ~/.Mail; ls -d *)"
+complete -c pine -s F -d "Open file" -r
+complete -c pine -s h -d "Display help and exit"
+complete -c pine -s i -d "Start in folder index"
+complete -c pine -s I -d "Initial set of keystrokes" -x
+complete -c pine -s k -d "Use function keys for commands"
+complete -c pine -s l -d "Expand collections in FOLDER LIST display"
+complete -c pine -s n -d "Start with specified current message number" -x
+complete -c pine -s o -d "Open folder read-only"
+complete -c pine -s p -d "Set configuration file" -r
+complete -c pine -s P -d "Set global configuration file"
+complete -c pine -s r -d "Restricted mode"
+complete -c pine -s z -d "Enable suspention support"
+complete -c pine -o conf -d "Produce a sample global configuration file"
+complete -c pine -o pinerc -d "Produce sample configuration file" -r
+complete -c pine -o sort -d "Set mail sort order" -a "
+ arrival
+ subject
+ from
+ date
+ size
+ orderedsubj
+ reverse
+"
+
+complete -c pine -o option -d "Config option" -x
diff --git a/init/completions/ping.fish b/init/completions/ping.fish
new file mode 100644
index 00000000..13c80e7e
--- /dev/null
+++ b/init/completions/ping.fish
@@ -0,0 +1,30 @@
+complete -c ping -a "(__fish_print_hostnames)" -x
+complete -c ping -s a -d "Audible ping"
+complete -c ping -s A -d "Adaptive ping"
+complete -c ping -s b -d "Allow pinging a broadcast address"
+complete -c ping -s B -d "Do not allow ping to change source address of probes"
+complete -c ping -s c -d "Stop after sending count ECHO_REQUEST packets" -x
+complete -c ping -s d -d "Set the SO_DEBUG option on the socket being used"
+complete -c ping -s F -d "Allocate and set 20 bit flow label on echo request packets" -x
+complete -c ping -s f -d "Flood ping"
+complete -c ping -s i -d "Wait interval seconds between sending each packet" -x
+complete -c ping -s I -d "Set source address to specified interface address" -x -a "(__fish_print_interfaces; fish_print_addresses)"
+complete -c ping -s l -d "If preload is specified, ping sends that many packets not waiting for reply" -x
+complete -c ping -s L -d "Suppress loopback of multicast packets"
+complete -c ping -s n -d "Numeric output only"
+complete -c ping -s p -d "You may specify up to 16 ‘‘pad’’ bytes to fill out the packet you send" -x
+complete -c ping -s Q -d "Set Quality of Service -related bits in ICMP datagrams" -x
+complete -c ping -s q -d "Quiet output"
+complete -c ping -s R -d "Record route"
+complete -c ping -s r -d "Bypass the normal routing tables and send directly to a host on an attached interface"
+complete -c ping -s s -d "Specifies the number of data bytes to be sent" -x
+complete -c ping -s S -d "Set socket sndbuf" -x
+complete -c ping -s t -d "Set the IP Time to Live" -x
+complete -c ping -s T -d "Set special IP timestamp options" -x
+complete -c ping -s M -d "Select Path MTU Discovery strategy" -x -a "do want dont"
+complete -c ping -s U -d "Print full user-to-user latency"
+complete -c ping -s v -d "Verbose output"
+complete -c ping -s V -d "Show version and exit"
+complete -c ping -s w -d "Specify a timeout, in seconds, before ping exits regardless of how many packets have been sent or received" -x
+complete -c ping -s W -d "Time to wait for a response, in seconds" -x
+
diff --git a/init/completions/prevd.fish b/init/completions/prevd.fish
new file mode 100644
index 00000000..96cad294
--- /dev/null
+++ b/init/completions/prevd.fish
@@ -0,0 +1 @@
+complete -c prevd -s l -d "Also print directory history"
diff --git a/init/completions/ps.fish b/init/completions/ps.fish
new file mode 100644
index 00000000..02ca0bfa
--- /dev/null
+++ b/init/completions/ps.fish
@@ -0,0 +1,37 @@
+# Completions for ps
+
+complete -c ps -s A -d "Select all"
+complete -c ps -s N -d "Invert selection"
+complete -c ps -s a -d "Select all processes except session leaders and terminal-less"
+complete -c ps -s d -d "Select all processes except session leaders"
+complete -c ps -s e -d "Select all"
+complete -c ps -l deselect -d "Deselect all processes that do not fulfill conditions"
+
+complete -c ps -s C -d "Select by command" -r
+complete -c ps -s G -l Group -d "Select by group" -x -a "(__fish_complete_groups)"
+
+complete -c ps -s U -l User -d "Select by user" -x -a "(__fish_complete_users)"
+complete -c ps -s u -l user -d "Select by user" -x -a "(__fish_complete_users)"
+complete -c ps -s g -l group -d "Select by group/session" -x -a "(__fish_complete_groups)"
+complete -c ps -s p -l pid -d "Select by PID" -x -a "(__fish_complete_pids)"
+complete -c ps -l ppid -d "Select by parent PID" -x -a "(__fish_complete_pids)"
+complete -c ps -s s -l sid -d "Select by session ID" -x -a "(__fish_complete_pids)"
+complete -c ps -s t -l tty -d "Select by tty" -r
+complete -c ps -s F -d "Extra full format"
+complete -c ps -s O -d "User defined format" -x
+complete -c ps -s M -d "Add column for security data"
+complete -c ps -s f -d "Full format"
+complete -c ps -s j -d "Jobs format"
+complete -c ps -s l -d "Long format"
+complete -c ps -s o -l format -d "User defined format" -x
+complete -c ps -s y -d "Do not show flags"
+complete -c ps -s Z -l context -d "Display security context format"
+complete -c ps -s H -l forest -d "Show hierarchy"
+complete -c ps -s n -d "Set namelist file" -r
+complete -c ps -s w -d "Wide output"
+complete -c ps -s L -d "Show threads"
+complete -c ps -s T -d "Show threads"
+complete -c ps -s V -l version -d "Display vesrion and exit"
+complete -c ps -l help -d "Display help and exit"
+complete -c ps -l info -d "Display debugging info"
+
diff --git a/init/completions/pushd.fish b/init/completions/pushd.fish
new file mode 100644
index 00000000..49958bf8
--- /dev/null
+++ b/init/completions/pushd.fish
@@ -0,0 +1 @@
+complete -c pushd -x -a "(__fish_complete_cd)"
diff --git a/init/completions/python.fish b/init/completions/python.fish
new file mode 100644
index 00000000..198efb6d
--- /dev/null
+++ b/init/completions/python.fish
@@ -0,0 +1,14 @@
+complete -c python -s c -x -d "Execute argument as command"
+complete -c python -s d -d "Debug on"
+complete -c python -s E -d "Ignore environment variables"
+complete -c python -s h -d "Display help and exit"
+complete -c python -s i -d "Interactive mode after executing commands"
+complete -c python -s O -d "Enable optimizations"
+complete -c python -s Q -x -a "old new" -d "Division control"
+complete -c python -s S -d "Disable import of site module"
+complete -c python -s t -d "Warn on mixed tabs and spaces"
+complete -c python -s u -d "Unbuffered inputg and output"
+complete -c python -s v -d "Verbose mode"
+complete -c python -s V -d "Display version and exit"
+complete -c python -s W -x -d "Warning control" -a "ignore default all module once error"
+complete -c python -s x -d "Skip first line of input"
diff --git a/init/completions/read.fish b/init/completions/read.fish
new file mode 100644
index 00000000..c37d01c2
--- /dev/null
+++ b/init/completions/read.fish
@@ -0,0 +1,7 @@
+complete -c read -s h -l help -d "Display help and exit"
+complete -c read -s p -l prompt -d "Set prompt command" -x
+complete -c read -s x -l export -d "Export variable to subprocess"
+complete -c read -s g -l global -d "Make variable scope global"
+complete -c read -s l -l local -d "Make variable scope local"
+complete -c read -s u -l unexport -d "Do not export variable to subprocess"
+
diff --git a/init/completions/rm.fish b/init/completions/rm.fish
new file mode 100644
index 00000000..a8f8a94c
--- /dev/null
+++ b/init/completions/rm.fish
@@ -0,0 +1,11 @@
+#Completions for rm
+complete -c rm -s d -l directory -d "Unlink directory (Only by superuser)"
+complete -c rm -s f -l force -d "Never prompt before removal"
+complete -c rm -s i -l interactive -d "Prompt before removal"
+complete -c rm -s r -l recursive -d "Remove content of subdirectories"
+complete -c rm -s R -d "Remove content of subdirectories"
+complete -c rm -s v -l verbose -d "Explain what is done"
+complete -c rm -s h -l help -d "Display help and exit"
+complete -c rm -l version -d "Display version and exit"
+
+
diff --git a/init/completions/rmdir.fish b/init/completions/rmdir.fish
new file mode 100644
index 00000000..fcbd6c27
--- /dev/null
+++ b/init/completions/rmdir.fish
@@ -0,0 +1,8 @@
+#Completions for rmdir
+complete -x -c rmdir -a "(__fish_complete_directory (commandline -ct))"
+complete -c rmdir -l ignore-fail-on-non-empty -d "Ignore errors from non-empty directories"
+complete -c rmdir -s p -l parents -d "Remove each component of path"
+complete -c rmdir -s v -l verbose -d "Explain what is done"
+complete -c rmdir -l help -d "Display help and exit"
+complete -c rmdir -l version -d "Display version and exit"
+
diff --git a/init/completions/rpm.fish b/init/completions/rpm.fish
new file mode 100644
index 00000000..fb5ada28
--- /dev/null
+++ b/init/completions/rpm.fish
@@ -0,0 +1,135 @@
+# Completions for the rpm command. Insanely complicated,
+# since rpm has multiple operation modes, and a perverse number of switches.
+
+complete -c rpm -s "?" -l help -d "Print help and exit"
+complete -c rpm -l version -d "Print version and exit"
+complete -c rpm -l quiet -d "Be less verbose"
+complete -c rpm -s v -d "Be more verbose"
+complete -c rpm -l rcfile -d "List of rpm configuration files" -f
+complete -c rpm -l pipe -d "Pipe output through specified command" -r
+complete -c rpm -l dbpath -d "Specify directory for rpm database" -a "
+(
+ __fish_complete_directory (commandline -ct) 'Rpm database directory'
+)
+"
+complete -c rpm -l root -d "Specify root directory for rpm operations" -a "
+(
+ __fish_complete_directory (commandline -ct) 'Root directory for rpm operations'
+)
+"
+
+set -- rpm_install -c rpm -n "__fish_contains_opt -s i -s U -s F install upgrade freshen"
+complete $rpm_install -l aid -d "Add suggested packages to the transaction set when needed"
+complete $rpm_install -l allfiles -d "Installs or upgrades all the missing ok files in the package, regardless if they exist"
+complete $rpm_install -l badreloc -d "Used with --relocate, permit relocations on all file paths, not just those OLD-PATH’s included in the binary package relocation hint(s)"
+complete $rpm_install -l aid -d 'Add suggested packages to the transaction set when needed'
+complete $rpm_install -l allfiles -d 'Installs or upgrades all the missingok files in the package, regardless if they exist'
+complete $rpm_install -l badreloc -d 'Used with --relocate, permit relocations on all file paths, not just those OLD-PATH’s included in the binary package relocation hint(s)'
+complete $rpm_install -l excludepath -d 'Dont install files whose name begins with OLDPATH' -xa "(__fish_complete_directory (commandline -ct) 'Skip installation of files in this directory')"
+complete $rpm_install -l excludedocs -d 'Dont install any files which are marked as documentation (which includes man pages and texinfo documents)'
+complete $rpm_install -l force -d 'Same as using --replacepkgs, --replacefiles, and --oldpackage'
+complete $rpm_install -s h -l hash -d 'Print 50 hash marks as the package archive is unpacked. Use with -v or --verbose for a nicer display'
+complete $rpm_install -l ignoresize -d 'Dont check mount file systems for sufficient disk space before installing this package'
+complete $rpm_install -l ignorearch -d 'Allow installation or upgrading even if the architectures of the binary package and host dont match'
+complete $rpm_install -l ignoreos -d 'Allow installation or upgrading even if the operating systems of the binary package and host dont match'
+complete $rpm_install -l includedocs -d 'Install documentation files. This is the default behavior'
+complete $rpm_install -l justdb -d 'Update only the database, not the filesystem'
+complete $rpm_install -l nodigest -d 'Dont verify package or header digests when reading'
+complete $rpm_install -l nosignature -d 'Dont verify package or header signatures when reading'
+complete $rpm_install -l nodeps -d 'Dont do a dependency check before installing or upgrading a package'
+complete $rpm_install -l nosuggest -d 'Dont suggest package(s) that provide a missing dependency'
+complete $rpm_install -l noorder -d 'Dont reorder the packages for an install. The list of packages would normally be reordered to satisfy dependencies'
+complete $rpm_install -l noscripts -d 'Dont execute scripts'
+complete $rpm_install -l nopre -d 'Dont execute pre scripts'
+complete $rpm_install -l nopost -d 'Dont execute post scripts'
+complete $rpm_install -l nopreun -d 'Dont execute preun scripts'
+complete $rpm_install -l nopostun -d 'Dont execute postun scripts'
+complete $rpm_install -l notriggers -d 'Dont execute trigger scriptlets'
+complete $rpm_install -l notriggerin -d 'Dont execute triggerin scriptlets'
+complete $rpm_install -l notriggerun -d 'Dont execute triggerun scriptlets'
+complete $rpm_install -l notriggerpostun -d 'Dont execute triggerpostun scriptlets'
+complete $rpm_install -l oldpackage -d 'Allow an upgrade to replace a newer package with an older one'
+complete $rpm_install -l percent -d 'Print percentages as files are unpacked from the package archive. This is intended to make rpm easy to run from other tools'
+complete $rpm_install -l prefix -d 'For relocatable binary packages, translate all file paths that start with the installation prefix in the package relocation hint(s) to NEWPATH' -xa "(__fish_complete_directory (commandline -ct) 'Directory prefix for relocatable packages')"
+complete $rpm_install -l relocate -x -d 'For relocatable binary packages, translate all file paths that start with OLDPATH in the package relocation hint(s) to NEWPATH. This option can be used repeatedly if several OLDPATH’s in the package are to be relocated'
+complete $rpm_install -l repackage -d 'Re-package the files before erasing. The previously installed package will be named according to the macro %_repackage_name_fmt and will be created in the directory named by the macro %_repackage_dir (default value is /var/spool/repackage)'
+complete $rpm_install -l replacefiles -d 'Install the packages even if they replace files from other, already installed, packages'
+complete $rpm_install -l replacepkgs -d 'Install the packages even if some of them are already installed on this system'
+complete $rpm_install -l test -d 'Do not install the package, simply check for and report potential conflicts'
+set -e rpm_install
+
+set -- rpm_query -c rpm -n "__fish_contains_opt -s q query"
+complete $rpm_query -l changelog -d 'Display change information for the package'
+complete $rpm_query -s c -l configfiles -d 'List only configuration files (implies -l)'
+complete $rpm_query -s d -l docfiles -d 'List only documentation files (implies -l)'
+complete $rpm_query -l dump -d 'Dump file information. Must be used with at least one of -l, -c, -d'
+complete $rpm_query -l filesbypkg -d 'List all the files in each selected package'
+complete $rpm_query -s i -l info -d 'Display package information, including name, version, and description. This uses the --queryformat if one was specified'
+complete $rpm_query -l last -d 'Orders the package listing by install time such that the latest packages are at the top'
+complete $rpm_query -s l -l list -d 'List files in package'
+complete $rpm_query -l provides -d 'List capabilities this package provides'
+complete $rpm_query -s R -l requires -d 'List packages on which this package depends'
+complete $rpm_query -l scripts -d 'List the package specific scriptlet(s) that are used as part of the installation and uninstallation processes'
+complete $rpm_query -s s -l state -d 'Display the states of files in the package (implies -l). The state of each file is one of normal, not installed, or replaced'
+complete $rpm_query -l triggers -d 'Display the trigger scripts, if any, which are contained in the package'
+complete $rpm_query -l triggerscripts -d 'Display the trigger scripts, if any, which are contained in the package'
+set -e rpm_query
+
+set -- rpm_select -c rpm -n "__fish_contains_opt -s q -s V query verify"
+
+complete $rpm_select -a "(__fish_print_packages)"
+complete $rpm_select -s a -l all -d 'Query all installed packages'
+complete $rpm_select -s f -l file -d 'Query package owning FILE' -r
+complete $rpm_select -l fileid -d 'Query package that contains a given file identifier, i.e. the MD5 digest of the file contents' -x
+complete $rpm_select -s g -l group -d 'Query packages with the group of GROUP' -x
+complete $rpm_select -l hdrid -d 'Query package that contains a given header identifier, i.e. the SHA1 digest of the immutable header region' -x
+complete $rpm_select -s p -l package -d 'Query an (uninstalled) package PACKAGE_FILE' -xa "(__fish_complete_suffix (commandline -ct) .rpm 'Query package file')"
+complete $rpm_select -l pkgid -d 'Query package that contains a given package identifier, i.e. the MD5 digest of the combined header and payload contents' -x
+complete $rpm_select -l specfile -d 'Parse and query SPECFILE as if it were a package' -xa "(__fish_complete_suffix (commandline -ct) .spec 'Query package spec file')"
+complete $rpm_select -l tid -d 'Query package(s) that have a given TID transaction identifier' -x
+complete $rpm_select -l triggeredby -d 'Query packages that are triggered by package(s) PACKAGE_NAME' -x -a "(__fish_print_packages)"
+complete $rpm_select -l whatprovides -d 'Query all packages that provide the CAPABILITY capability' -x
+complete $rpm_select -l whatrequires -d 'Query all packages that requires CAPABILITY for proper functioning' -x
+set -e rpm_select
+
+set -- rpm_verify -c rpm -n "__fish_contains_opt -s V verify"
+complete $rpm_verify -l nodeps -d 'Dont verify dependencies of packages'
+complete $rpm_verify -l nodigest -d 'Dont verify package or header digests when reading'
+complete $rpm_verify -l nofiles -d 'Dont verify any attributes of package files'
+complete $rpm_verify -l noscripts -d 'Dont execute the %verifyscript scriptlet (if any)'
+complete $rpm_verify -l nosignature -d 'Don’t verify package or header signatures when reading'
+complete $rpm_verify -l nolinkto -d 'Dont verify linkto attribute'
+complete $rpm_verify -l nomd5 -d 'Dont verify md5 attribute'
+complete $rpm_verify -l nosize -d 'Dont verify size attribute'
+complete $rpm_verify -l nouser -d 'Dont verify user attribute'
+complete $rpm_verify -l nogroup -d 'Dont verify group attribute'
+complete $rpm_verify -l nomtime -d 'Dont verify time attribute'
+complete $rpm_verify -l nomode -d 'Dont verify mode attribute'
+complete $rpm_verify -l nordev -d 'Dont verify dev attribute'
+set -e rpm_verify
+
+set -- rpm_erase -c rpm -n "__fish_contains_opt -s e erase"
+complete $rpm_erase -a "(__fish_print_packages)"
+complete $rpm_erase -l allmatches -d 'Remove all versions of the package which match PACKAGE_NAME. Normally an error is issued if PACKAGE_NAME matches multiple packages'
+complete $rpm_erase -l nodeps -d 'Don’t check dependencies before uninstalling the packages'
+complete $rpm_erase -l noscripts -d 'Dont execute scriplets'
+complete $rpm_erase -l nopreun -d 'Dont execute preun scriptlet'
+complete $rpm_erase -l nopostun -d 'Dont execute postun scriptlet'
+complete $rpm_erase -l notriggers -d 'Dont execute trigger scriptlets'
+complete $rpm_erase -l notriggerun -d 'Dont execute triggerun scriptlets'
+complete $rpm_erase -l notriggerpostun -d 'Dont execute triggerpostun scriptlets'
+complete $rpm_erase -l repackage -d 'Re-package the files before erasing'
+complete $rpm_erase -l test -d 'Dont really uninstall anything, just go through the motions'
+set -e rpm_erase
+
+set -- rpm_mode -c rpm -n "__fish_contains_opt -s e -s i -s F -s V -s U -s q erase install freshen verify upgrade query; if test $status = 0; false; else; true; end"
+complete $rpm_mode -s i -l install -d 'Install new package'
+complete $rpm_mode -s U -l upgrade -d 'Upgrade existing package'
+complete $rpm_mode -s F -l freshen -d 'Upgrade package if already installed'
+complete $rpm_mode -s q -l query -d 'Query installed packages'
+complete $rpm_mode -s V -l verify -d 'Verify package integrety'
+complete $rpm_mode -s e -l erase -d 'Erase package'
+set -e rpm_mode
+
+complete -c rpm -xa '(__fish_complete_suffix (commandline -ct) .rpm "RPM package")'
+
diff --git a/init/completions/ruby.fish b/init/completions/ruby.fish
new file mode 100644
index 00000000..1fc43a01
--- /dev/null
+++ b/init/completions/ruby.fish
@@ -0,0 +1,25 @@
+#Completions for ruby
+complete -c ruby -s 0 -d "Specify record separator"
+complete -c ruby -s a -d "Feed input to split"
+complete -c ruby -s c -d "Check syntax"
+complete -c ruby -s K -d "Kanji code-set"
+complete -c ruby -s d -l debug -d "Debugger"
+complete -c ruby -s e -x -d "Execute command"
+complete -c ruby -s h -l help -d "Display help"
+complete -c ruby -s F -d "Set regexp used to split input"
+complete -c ruby -s i -d "Edit files in-place"
+complete -c ruby -s I -d "Include path"
+complete -c ruby -s l -d "Line ending processing"
+complete -c ruby -s n -d "Loop script"
+complete -c ruby -s p -d "Loop script, print $_"
+complete -c ruby -s r -r -d "Require file"
+complete -c ruby -s s -d "Define custom switches"
+complete -c ruby -s S -d "Search $PATH for script"
+complete -c ruby -s T -d "Taint checking"
+complete -c ruby -s v -l verbose -d "Verbose mode"
+complete -c ruby -s w -d "Verbose mode without message"
+complete -c ruby -l version -d "Display version"
+complete -c ruby -s x -d "Extract script"
+complete -c ruby -s X -x -a "(__fish_complete_directory (commandline -ct))" -d "Directory"
+complete -c ruby -s y -l yydebug -d "Compiler debug mode"
+
diff --git a/init/completions/scp.fish b/init/completions/scp.fish
new file mode 100644
index 00000000..6585bb40
--- /dev/null
+++ b/init/completions/scp.fish
@@ -0,0 +1,35 @@
+#
+# Load common ssh options
+#
+
+complete -y ssh
+
+#
+# scp specific completions
+#
+
+complete -c scp -d Hostname -a "
+
+(
+ #Find a suitable hostname from the knownhosts files
+ cat ~/.ssh/known_hosts{,2} ^/dev/null|cut -d ' ' -f 1| cut -d , -f 1
+):
+
+(
+ #Prepend any username specified in the completion to the hostname
+ echo (commandline -ct)|grep -o '.*@'
+)(
+ cat ~/.ssh/known_hosts{,2} ^/dev/null|cut -d ' ' -f 1| cut -d , -f 1
+):
+
+(__fish_print_users)@
+
+"
+complete -c scp -s B -d "Batch mode"
+complete -c scp -s l -x -d "Bandwidth limit"
+complete -c scp -s P -x -d "Port"
+complete -c scp -s p -d "Preserves modification times, access times, and modes from the original file"
+complete -c scp -s q -d "Disable progress meter"
+complete -c scp -s r -d "Recursively copy"
+complete -c scp -s S -d "Encyption program"
+
diff --git a/init/completions/screen.fish b/init/completions/screen.fish
new file mode 100644
index 00000000..416121b3
--- /dev/null
+++ b/init/completions/screen.fish
@@ -0,0 +1,37 @@
+function __fish_complete_screen -d "Print a list of running screen sessions"
+ screen -list |grep \^\t.\*\(.\*\)|sed -e 's/\t\(.*\)\t(\(.*\))/\1\tScreen: \2/'
+end
+
+complete -c screen -x
+complete -c screen -s a -d "Include all capabilitys"
+complete -c screen -s A -d "Adapt window size"
+complete -c screen -s c -r -d "Specify init file"
+complete -c screen -s d -d "Detach screen" -a "(__fish_complete_screen)"
+complete -c screen -s D -d "Detach screen" -a "(__fish_complete_screen)"
+complete -c screen -s r -d "Reattach session" -a "(__fish_complete_screen)"
+complete -c screen -s R -d "Reattach/create session"
+complete -c screen -o RR -d "Reattach/create any session"
+complete -c screen -s e -x -d "Escape character"
+complete -c screen -s f -d "Flow control on"
+complete -c screen -o fn -d "Flow control off"
+complete -c screen -o fa -d "Flow control automatic"
+complete -c screen -s h -x -d "History length"
+complete -c screen -s i -d "Interrupt display on C-c"
+complete -c screen -s l -d "Login on"
+complete -c screen -o ln -d "Login off"
+complete -c screen -o ls -d "List sessions"
+complete -c screen -o list -d "List sessions"
+complete -c screen -s L -d "Log on"
+complete -c screen -s m -d "Ignore $STY"
+complete -c screen -s O -d "Optimal output"
+complete -c screen -s p -d "Preselect window"
+complete -c screen -s q -d "Quiet mode"
+complete -c screen -s s -r -d "Set shell"
+complete -c screen -s S -x -d "Session name"
+complete -c screen -s t -x -d "Session title"
+complete -c screen -s U -d "UTF-8 mode"
+complete -c screen -s v -d "Display version"
+complete -c screen -o wipe -d "Wipe dead sessions"
+complete -c screen -s x -d "Multi attach"
+complete -c screen -s X -r -d "Send command"
+
diff --git a/init/completions/sed.fish b/init/completions/sed.fish
new file mode 100644
index 00000000..27ee7d6c
--- /dev/null
+++ b/init/completions/sed.fish
@@ -0,0 +1,12 @@
+complete -c sed -s n -l quiet -d "Silent mode"
+complete -c sed -l silent -d "Silent mode"
+complete -c sed -s e -l expression -x -d "Evaluate expression"
+complete -c sed -s f -l file -r -d "Evalute file"
+complete -c sed -s i -l in-place -d "Edit files in place"
+complete -c sed -s l -l line-length -x -d "Specify line-length"
+complete -c sed -l posix -d "Disable all GNU extensions"
+complete -c sed -s r -l regexp-extended -d "Use extended regexp"
+complete -c sed -s s -l separate -d "Consider files as separate"
+complete -c sed -s u -l unbuffered -d "Use minimal IO buffers"
+complete -c sed -l help -d "Display help and exit"
+complete -c sed -s V -l version -d "Display version and exit"
diff --git a/init/completions/service.fish b/init/completions/service.fish
new file mode 100644
index 00000000..878b6aab
--- /dev/null
+++ b/init/completions/service.fish
@@ -0,0 +1,7 @@
+
+# Fist argument is the names of the service, i.e. a file in /etc/init.d
+complete -c service -n "test (count (commandline -poc)) = 1" -xa "(command ls /etc/init.d)" -d "Service name"
+
+#The second argument is what action to take with the service
+complete -c service -n "test (count (commandline -poc)) -gt 1" -xa '$__fish_service_commands'
+
diff --git a/init/completions/set.fish b/init/completions/set.fish
new file mode 100644
index 00000000..57e860ab
--- /dev/null
+++ b/init/completions/set.fish
@@ -0,0 +1,45 @@
+
+complete -y set_color
+
+complete -c set -s e -l erase -d "Erase variable"
+complete -c set -s x -l export -d "Export variable to subprocess"
+complete -c set -s u -l unexport -d "Do not export variable to subprocess"
+complete -c set -s g -l global -d "Make variable scope global"
+complete -c set -s l -l local -d "Make variable scope local"
+complete -c set -s U -l universal -d "Make variable scope universal, i.e. shared between all fish terminals"
+complete -c set -s h -l help -d "Display help and exit"
+
+function __fish_set_is_first -d 'Test if no non-switch argument has been specified yet'
+ set -- cmd (commandline -poc)
+ set -e -- cmd[1]
+ for i in $cmd
+ switch $i
+ case '-*'
+
+ case '*'
+ return 1;
+ end
+ end
+ return 0
+end
+
+complete -c set -n '__fish_set_is_first' -x -a "(set|sed -e 's/ /\tVariable: /')"
+
+function __fish_set_is_color -d 'Test if We are specifying a color value for the prompt'
+ set -- cmd (commandline -poc)
+ set -e -- cmd[1]
+ for i in $cmd
+ switch $i
+
+ case 'fish_color_*' 'fish_pager_color_*'
+ return 0
+
+ case '-*'
+
+ case '*'
+ return 1
+ end
+ end
+end
+
+complete -c set -n '__fish_set_is_color' -x -a '$__fish_colors' -d Color
diff --git a/init/completions/set_color.fish b/init/completions/set_color.fish
new file mode 100644
index 00000000..76754dc5
--- /dev/null
+++ b/init/completions/set_color.fish
@@ -0,0 +1,5 @@
+set -g __fish_colors black red green brown blue magenta cyan white normal
+
+complete -c set_color -x -d "Color" -a '$__fish_colors'
+complete -c set_color -s b -l background -x -a '$__fish_colors'
+
diff --git a/init/completions/sort.fish b/init/completions/sort.fish
new file mode 100644
index 00000000..d4145562
--- /dev/null
+++ b/init/completions/sort.fish
@@ -0,0 +1,21 @@
+complete -c sort -s b -l ignore-leading-blanks -d "Ignore leading blanks"
+complete -c sort -s d -l dictionary-order -d "Consider only blanks and alphanumerics"
+complete -c sort -s f -l ignore-case -d "Ignore case"
+complete -c sort -s g -l general-numeric-sort -d "Compare general numeric value"
+complete -c sort -s i -l ignore-nonprinting -d "Consider only printable"
+complete -c sort -s M -l month-sort -d "Compare month names"
+complete -c sort -s n -l numeric-sort -d "Compare string numerical value"
+complete -c sort -s r -l reverse -d "Reverse results"
+complete -c sort -s c -l check -d "Only check if sorted"
+complete -c sort -s k -l key -d "Define key"
+complete -c sort -s m -l merge -d "Merge sorted files"
+complete -c sort -s o -l output -f -d "Write to file"
+complete -c sort -s s -l stable -d "Stabilize sort"
+complete -c sort -s S -l buffer-size -r -d "Set main memory buffer"
+complete -c sort -s t -l field-separator -d "Field separator"
+complete -c sort -s T -l temporary-directory -r -d "Set temporary directory"
+complete -c sort -s u -l unique -d "Output only first of equal lines"
+complete -c sort -s z -l zero-terminated -d "Lines end with 0 byte"
+complete -c sort -l help -d "Display help and exit"
+complete -c sort -l version -d "Display version and exit"
+
diff --git a/init/completions/ssh.fish b/init/completions/ssh.fish
new file mode 100644
index 00000000..e48f921a
--- /dev/null
+++ b/init/completions/ssh.fish
@@ -0,0 +1,106 @@
+#
+# Common completions for all ssh commands
+#
+
+for i in ssh scp
+ complete -c $i -s 1 -d "Protocall version 1 only"
+ complete -c $i -s 2 -d "Protocall version 2 only"
+ complete -c $i -s 4 -d "IPv4 addresses only"
+ complete -c $i -s 6 -d "IPv6 addresses only"
+ complete -c $i -s C -d "Compress all data"
+ complete -xc $i -s c -d "Encryption algorithm" -a "blowfish 3des des"
+ complete -r -c $i -s F -d "Configuration file"
+ complete -r -c $i -s i -d "Identity file"
+ complete -x -c $i -s o -d "Options" -a "
+ AddressFamily
+ BatchMode
+ BindAddress
+ ChallengeResponseAuthentication
+ CheckHostIP
+ Cipher
+ Ciphers
+ Compression
+ CompressionLevel
+ ConnectionAttempts
+ ConnectTimeout
+ ControlMaster
+ ControlPath
+ GlobalKnownHostsFile
+ GSSAPIAuthentication
+ GSSAPIDelegateCredentials
+ Host
+ HostbasedAuthentication
+ HostKeyAlgorithms
+ HostKeyAlias
+ HostName
+ IdentityFile
+ IdentitiesOnly
+ LogLevel
+ MACs
+ NoHostAuthenticationForLocalhost
+ NumberOfPasswordPrompts
+ PasswordAuthentication
+ Port
+ PreferredAuthentications
+ Protocol
+ ProxyCommand
+ PubkeyAuthentication
+ RhostsRSAAuthentication
+ RSAAuthentication
+ SendEnv
+ ServerAliveInterval
+ ServerAliveCountMax
+ SmartcardDevice
+ StrictHostKeyChecking
+ TCPKeepAlive
+ UsePrivilegedPort
+ User
+ UserKnownHostsFile
+ VerifyHostKeyDNS
+ "
+ complete -c $i -s v -d "Verbose mode"
+end;
+
+#
+# ssh specific completions
+#
+
+complete -x -c ssh -d Hostname -a "
+
+(__fish_print_hostnames)
+
+(
+ #Prepend any username specified in the completion to the hostname
+ echo (commandline -ct)|grep -o '.*@'
+)(__fish_print_hostnames)
+
+(__fish_print_users)@
+"
+
+complete -c ssh -s a -d "Disables forwarding of the authentication agent"
+complete -c ssh -s A -d "Enables forwarding of the authentication agent"
+complete -x -c ssh -s b -d "Interface to transmit from" -a "
+(
+ cat /proc/net/arp ^/dev/null| grep -v '^IP'|cut -d ' ' -f 1 ^/dev/null
+)
+"
+
+complete -x -c ssh -s e -d "Escape character" -a "^ none"
+complete -c ssh -s f -d "Go to background"
+complete -c ssh -s g -d "Allow remote host to connect to local forwarded ports"
+complete -c ssh -s I -d "Smartcard device"
+complete -c ssh -s k -d "Disable forwarding of Kerberos tickets"
+complete -c ssh -s l -x -a "(__fish_complete_users)" -d "User"
+complete -c ssh -s m -d "MAC algorithm"
+complete -c ssh -s n -d "Prevent reading from stdin"
+complete -c ssh -s N -d "Do not execute remote command"
+complete -c ssh -s p -x -d "Port"
+complete -c ssh -s q -d "Quiet mode"
+complete -c ssh -s s -d "Subsystem"
+complete -c ssh -s t -d "Force pseudo-tty allocation"
+complete -c ssh -s T -d "Disable pseudo-tty allocation"
+complete -c ssh -s x -d "Disable X11 forwarding"
+complete -c ssh -s X -d "Enable X11 forwarding"
+complete -c ssh -s L -d "Locally forwarded ports"
+complete -c ssh -s R -d "Remotely forwarded ports"
+complete -c ssh -s D -d "Dynamic port forwarding"
diff --git a/init/completions/su.fish b/init/completions/su.fish
new file mode 100644
index 00000000..6f89c18c
--- /dev/null
+++ b/init/completions/su.fish
@@ -0,0 +1,12 @@
+# Completions for su
+
+complete -x -c su -a "(__fish_complete_users)"
+complete -c su -s l -l login -d "Make login shell"
+complete -r -c su -s c -l command -d "Pass command to shell"
+complete -c su -s f -l fast -d "Pass -f to the shell"
+complete -c su -s m -l preserve_environment -d "Preserve environment"
+complete -c su -s p -d "Preserve environment"
+complete -x -c su -s s -l shell -a "(cat /etc/shells)"
+complete -c su -l help -d "Display help and exit"
+complete -c su -l version -d "Display version and exit"
+
diff --git a/init/completions/tar.fish b/init/completions/tar.fish
new file mode 100644
index 00000000..adce7b40
--- /dev/null
+++ b/init/completions/tar.fish
@@ -0,0 +1,62 @@
+complete -c tar -s A -l catenate -d "Append archive to archive"
+complete -c tar -l concatenate -d "Append archive to archive"
+complete -c tar -s c -l create -d "Create archive"
+complete -c tar -s d -l diff -d "Compare archive and filesystem"
+complete -c tar -l compare -d "Compare archive and filesystem"
+complete -c tar -l delete -d "Delete from archive"
+complete -c tar -s r -l append -d "Append files to archive"
+complete -c tar -s t -l list -d "List archive"
+complete -c tar -s u -l update -d "Append new files"
+complete -c tar -s x -l extract -d "Extract from archive"
+complete -c tar -l get -d "Extract from archive"
+complete -c tar -l atime-preserve -d "Keep access time"
+complete -c tar -s b -l block-size -d "Block size"
+complete -c tar -s B -l read-full-blocks -d "Reblock while reading"
+complete -c tar -s C -l directory -r -d "Change directory"
+complete -c tar -l checkpoint -d "Print directory names"
+complete -c tar -s f -l file -r -d "Archive file"
+complete -c tar -l force-local -d "Archive is local"
+complete -c tar -s F -l info-script -d "Run script at end of tape"
+complete -c tar -s G -l incremental -d "Use old incremental GNU format"
+complete -c tar -s g -l listed-incremental -d "Use new incremental GNU format"
+complete -c tar -s h -l dereference -d "Derefrerence symlinks"
+complete -c tar -s i -l ignore-zeros -d "Ignore zero bloch in archive"
+complete -c tar -s j -l bzip -d "Filter through bzip2"
+complete -c tar -l ignore-failed-read -d "Dont exit on unreadable files"
+complete -c tar -s k -l keep-old-files -d "Do not overwrite"
+complete -c tar -s K -l starting-file -r -d "Starting file in archive"
+complete -c tar -s l -l one-file-system -d "Stay in local filesystem"
+complete -c tar -s L -l tape-length -r -d "Tape length"
+complete -c tar -s m -l modification-time -d "Dont extract modification time"
+complete -c tar -s M -l multi-volume -d "Multi volume archive"
+complete -c tar -s N -l after-date -r -d "Only store newer files"
+complete -c tar -s o -l old-archive -d "Use V7 format"
+complete -c tar -l portability -d "Use V7 format"
+complete -c tar -s O -l to-stdout -d "Extract to stdout"
+complete -c tar -s p -l same-permissions -d "Extract all permissions"
+complete -c tar -l preserve-permissions -d "Extract all permissions"
+complete -c tar -s P -l absolute-paths -d "Dont strip leading /"
+complete -c tar -l preserve -d "Preserve all permissions and do not sort file arguments"
+complete -c tar -s R -l record-number -d "Show record number"
+complete -c tar -l remove-files -d "Remove files after adding to archive"
+complete -c tar -s s -l same-order -d "Do not sort file arguments"
+complete -c tar -l preserve-order -d "Do not sort file arguments"
+complete -c tar -l same-owner -d "Preserve file ownership"
+complete -c tar -s S -l sparse -d "Handle sparse files"
+complete -c tar -s T -l files-from -r -d "Extract file from file"
+complete -c tar -l null -d "-T has null-terminated names"
+complete -c tar -l totals -d "Print total bytes written"
+complete -c tar -s v -l verbose -d "Vorbose mode"
+complete -c tar -s V -l label -r -d "Set volume name"
+complete -c tar -l version -d "Display version and exit"
+complete -c tar -s w -l interactive -d "Ask for confirmation"
+complete -c tar -l confirmation -d "Ask for confirmation"
+complete -c tar -s W -l vevrify -d "Verify archive"
+complete -c tar -l exclude -r -d "Exclude file"
+complete -c tar -s X -l exclude-from -r -d "Exclude files listed in specified file"
+complete -c tar -s Z -l compress -d "Filter through compress"
+complete -c tar -l uncompress -d "Filter through compress"
+complete -c tar -s z -l gzip -d "Filter through gzip"
+complete -c tar -l gunzip -d "Filter through gzip"
+complete -c tar -l use-compress-program -r -d "Filter through specified program"
+
diff --git a/init/completions/test.fish b/init/completions/test.fish
new file mode 100644
index 00000000..2039fce5
--- /dev/null
+++ b/init/completions/test.fish
@@ -0,0 +1,39 @@
+
+complete -c test -l help -d "Display help and exit"
+complete -c test -l version -d "Display version and exit"
+complete -c test -a ! -d "Negate expression"
+complete -c test -s a -d "Logical and"
+complete -c test -s o -d "Logical or"
+complete -c test -s n -d "String length is non-zero"
+complete -c test -s z -d "String length is zero"
+complete -c test -a = -d "Strings are equal"
+complete -c test -a != -d "Strings are not equal"
+complete -c test -o eq -d "Integers are equal"
+complete -c test -o ge -d "Left integer larger than or equal to right integer"
+complete -c test -o gt -d "Left integer larger than right integer"
+complete -c test -o le -d "Left integer less than or equal to right integer"
+complete -c test -o lt -d "Left integer less than right integer"
+complete -c test -o ne -d "Left integer not equal to right integer"
+complete -c test -o ef -d "Left file equal to right file"
+complete -c test -o nt -d "Left file newer than right file"
+complete -c test -o ot -d "Left file older than right file"
+complete -c test -s b -d "File is block device"
+complete -c test -s c -d "File is character device"
+complete -c test -s d -d "File is directory"
+complete -c test -s e -d "File exists"
+complete -c test -s f -d "File is regular"
+complete -c test -s g -d "File is set-group-ID"
+complete -c test -s h -d "File is symlink"
+complete -c test -s G -d "File owned by effective group ID"
+complete -c test -s k -d "File has sticky bit set"
+complete -c test -s L -d "File is symlink"
+complete -c test -s O -d "File owned by effective user ID"
+complete -c test -s p -d "File is named pipe"
+complete -c test -s r -d "File is readable"
+complete -c test -s s -d "File size is non-zero"
+complete -c test -s S -d "File is socket"
+complete -c test -s t -d "FD is terminal"
+complete -c test -s u -d "File set-user-ID bit is set"
+complete -c test -s w -d "File is writable"
+complete -c test -s x -d "File is executable"
+
diff --git a/init/completions/tokenize.fish b/init/completions/tokenize.fish
new file mode 100644
index 00000000..242f434c
--- /dev/null
+++ b/init/completions/tokenize.fish
@@ -0,0 +1,3 @@
+complete -c tokenize -s e -l with-empty -d "Allow empty tokens"
+complete -c tokenize -s n -l no-empty -d "Ignore empty tokens"
+complete -c tokenize -s d -l delimiter -d "Delimiters for tokenization"
diff --git a/init/completions/top.fish b/init/completions/top.fish
new file mode 100644
index 00000000..e19d45ee
--- /dev/null
+++ b/init/completions/top.fish
@@ -0,0 +1,14 @@
+# Completions for top
+complete -c top -s b -d "Batch mode"
+complete -c top -s c -d "Toggle command line/program name"
+complete -c top -s d -d "Update interval" -x
+complete -c top -s h -d "Display help and exit"
+complete -c top -s i -d "Toggle idle processes"
+complete -c top -s n -d "Maximium iterations" -x
+complete -c top -s u -d "Monitor effective UID" -x -a "(__fish_complete_users)"
+complete -c top -s U -d "Monitor user" -x -a "(__fish_complete_users)"
+complete -c top -s p -d "Monitor PID" -x -a "(__fish_complete_pids)"
+complete -c top -s s -d "Secure mode"
+complete -c top -s S -d "Cumulative mode"
+complete -c top -s v -d "Display version and exit"
+
diff --git a/init/completions/touch.fish b/init/completions/touch.fish
new file mode 100644
index 00000000..383ce6ba
--- /dev/null
+++ b/init/completions/touch.fish
@@ -0,0 +1,11 @@
+complete -c touch -s a -d "Change access time"
+complete -c touch -s B -l backward -x -d "Set date back"
+complete -c touch -s c -l no-create -d "Do not create file"
+complete -c touch -s d -l date -x -d "Set date"
+complete -c touch -s f -l forward -x -d "Set date forward"
+complete -c touch -s m -d "Change modification time"
+complete -c touch -s r -l reference -d "Use this files times"
+complete -c touch -s t -d "Set date"
+complete -c touch -l time -x -d "Set time"
+complete -c touch -l help -d "Display help and exit"
+complete -c touch -l version -d "Display version nd exit"
diff --git a/init/completions/uname.fish b/init/completions/uname.fish
new file mode 100644
index 00000000..3193b177
--- /dev/null
+++ b/init/completions/uname.fish
@@ -0,0 +1,11 @@
+complete -c uname -s a -l all -d "Print all"
+complete -c uname -s s -l kernel-name -d "Print kernel name"
+complete -c uname -s n -l nodename -d "Print network node hostname"
+complete -c uname -s r -l kernel-release -d "Print kernel release"
+complete -c uname -s v -l kernel-version -d "Print kernel version"
+complete -c uname -s m -l machine -d "Print machine name"
+complete -c uname -s p -l processor -d "Print procssor"
+complete -c uname -s i -l hardware-platform -d "Print harware platform"
+complete -c uname -s o -l operating-system -d "Print operating system"
+complete -c uname -l help -d "Print help"
+complete -c uname -l verion -d "Print version"
diff --git a/init/completions/uniq.fish b/init/completions/uniq.fish
new file mode 100644
index 00000000..a574212a
--- /dev/null
+++ b/init/completions/uniq.fish
@@ -0,0 +1,15 @@
+complete -c uniq -s c -l count -d "Print number of occurences"
+complete -c uniq -s d -l repeated -d "Only print duplicates"
+complete -c uniq -s D -l all-repeated -d "Remove non-suplicate lines" -f -x -a "
+ none\t'Remove none-duplicate lines'
+ prepend\t'Remove non-duplicate lines and print an empty line before each non-duplicate'
+ separate\t'Remove non-duplicate lines and print an empty line between each non-duplicate'
+"
+complete -c uniq -s f -l skip-fields -d "Avoid comparing first N fields" -r
+complete -c uniq -s i -l ignore-case -d "Case insensitive"
+complete -c uniq -s s -l skip-chars -d "Avoid comparing first N characters" -r
+complete -c uniq -s u -l unique -d "Only print unique lines"
+complete -c uniq -s w -l check-chars -d "Compare only N characters" -r
+complete -c uniq -l help -d "Display help and exit"
+complete -c uniq -l version -d "Display version and exit"
+
diff --git a/init/completions/valgrind.fish b/init/completions/valgrind.fish
new file mode 100644
index 00000000..e95d3d30
--- /dev/null
+++ b/init/completions/valgrind.fish
@@ -0,0 +1,72 @@
+
+if valgrind --version | grep -- '-2\.[012]\.' >/dev/null ^/dev/null
+ # In older versions of Valgrind, the skin selection option was
+ # '--skin'
+ set -g skin skin
+else
+ # But someone decided that it would be fun to change this to
+ # '--tool' for no good reason
+ set -g skin tool
+end
+
+complete -xc valgrind -l $skin -d "Skin" -a "
+ memcheck\tHeavyweight\ memory\ checker
+ cachegrind\tCache-miss\ profiler
+ addrcheck\tLightweight\ memory\ checker
+ helgrind\tData-race\ detector
+ massif\tHeap\ profiler
+"
+set -e $skin
+
+complete -c valgrind -l help -d "Display help and exit"
+complete -c valgrind -l help-debug -d "Display help and debug options"
+complete -c valgrind -l version -d "Print version"
+complete -c valgrind -s q -l quiet -d "Run silently"
+complete -c valgrind -s v -l verbose -d "Verbose mode"
+complete -xc valgrind -l trace-children -d "Valgrind-ise children" -a "yes no"
+complete -xc valgrind -l track-fds -d "Track file descriptors" -a "yes no"
+complete -xc valgrind -l logfile-fd -d "Log to file descriptor" -a "0 1 2 3 4 5 6 7 8 9"
+complete -rc valgrind -l logfile -d "Log to file"
+complete -xc valgrind -l logsocket -d "Log to socket"
+complete -c valgrind -l demangle -xd "Demangle C++ names" -a "yes no"
+complete -xc valgrind -l num-callers -d "Callers in stack trace"
+complete -xc valgrind -l error-limit -d "Stop showing errors if too many" -a "yes no"
+complete -xc valgrind -l show-below-main -d "Continue trace below main()" -a "yes no"
+complete -rc valgrind -l supressions -d "Supress errors from file"
+complete -c valgrind -l gen-supressions -d "Print suppressions for detected errors"
+complete -xc valgrind -l db-attach -d "Start debugger on error" -a "yes no"
+complete -rc valgrind -l db-command -d "Debugger command"
+complete -xc valgrind -l input-fd -d "File descriptor for input" -a "0 1 2 3 4 5 6 7 8 9"
+
+
+# Memcheck-specific options
+complete -n "contains -- --skin=memcheck (commandline -cpo)" -xc valgrind -l leak-check -d "Check for memory leaks" -a "no\t'Do not check for memory leaks' summary\t'Show a leak summary' full\t'Describe memory leaks in detail'"
+complete -n "contains -- --skin=memcheck (commandline -cpo)" -xc valgrind -l show-reachable -d "Show reachable leaked memory" -a "yes\t'Show reachable leaked memory' no\t'Do not show reachable leaked memory'"
+complete -n "contains -- --skin=memcheck (commandline -cpo)" -xc valgrind -l leak-resolution -d "Determines how willing Memcheck is to consider different backtraces to be the same" -a "low\t'Two entries need to match' med\t'Four entries need to match' high\t'All entries need to match'"
+complete -n "contains -- --skin=memcheck (commandline -cpo)" -xc valgrind -l freelist-vol -d "Set size of freed memory pool"
+complete -n "contains -- --skin=memcheck (commandline -cpo)" -xc valgrind -l partial-loads-ok -d 'How to handle loads of words that are partially addressible' -a 'yes\t"Do not emit errors on partial loads" no\t"Emit errors on partial loads"'
+complete -n "contains -- --skin=memcheck (commandline -cpo)" -xc valgrind -l avoid-strlen-errors -d 'Whether to skip error reporting for the strlen function' -a 'yes no'
+
+
+# Addrcheck-specific options
+complete -n "contains -- --skin=addrcheck (commandline -cpo)" -xc valgrind -l leak-check -d "Check for memory leaks" -a "no\t'Do not check for memory leaks' summary\t'Show a leak summary' full\t'Describe memory leaks in detail'"
+complete -n "contains -- --skin=addrcheck (commandline -cpo)" -xc valgrind -l show-reachable -d "Show reachable leaked memory" -a "yes\t'Show reachable leaked memory' no\t'Do not show reachable leaked memory'"
+complete -n "contains -- --skin=addrcheck (commandline -cpo)" -xc valgrind -l leak-resolution -d "Determines how willing Addrcheck is to consider different backtraces to be the same" -a "low\t'Two entries need to match' med\t'Four entries need to match' high\t'All entries need to match'"
+complete -n "contains -- --skin=addrcheck (commandline -cpo)" -xc valgrind -l freelist-vol -d "Set size of freed memory pool"
+complete -n "contains -- --skin=addrcheck (commandline -cpo)" -xc valgrind -l partial-loads-ok -d 'How to handle loads of words that are partially addressible' -a 'yes\t"Do not emit errors on partial loads" no\t"Emit errors on partial loads"'
+complete -n "contains -- --skin=addrcheck (commandline -cpo)" -xc valgrind -l avoid-strlen-errors -d 'Whether to skip error reporting for the strlen function' -a 'yes no'
+
+# Cachegrind-specific options
+complete -n "contains -- --skin=cachegrind (commandline -cpo)" -xc valgrind -l I1 -d "Type of L1 instruction cache"
+complete -n "contains -- --skin=cachegrind (commandline -cpo)" -xc valgrind -l D1 -d "Type of L1 data cache"
+complete -n "contains -- --skin=cachegrind (commandline -cpo)" -xc valgrind -l L2 -d "Type of L2 cache"
+
+
+# Massif-specific options
+complete -c valgrind -n "contains -- --skin=massif (commandline -cpo)" -l alloc-fn -d "Specify a function that allocates memory"
+complete -c valgrind -n "contains -- --skin=massif (commandline -cpo)" -x -l heap -d 'Profile heap usage' -a 'yes\t"Profile heap usage" no\t"Do not profile heap usage"'
+complete -c valgrind -n "contains -- --skin=massif (commandline -cpo)" -x -l heap-admin -d "The number of bytes of heap overhead per allocation"
+complete -c valgrind -n "contains -- --skin=massif (commandline -cpo)" -x -l stacks -d "Profile stack usage" -a 'yes\t"Profile stack usage" no\t"Do not profile stack usage"'
+complete -c valgrind -n "contains -- --skin=massif (commandline -cpo)" -x -l depth -d "Depth of call chain"
+complete -c valgrind -n "contains -- --skin=massif (commandline -cpo)" -x -l format -d "Profiling output format" -a "html\t'Produce html output' text\t'Produce text output'"
+
diff --git a/init/completions/vared.fish b/init/completions/vared.fish
new file mode 100644
index 00000000..fea93201
--- /dev/null
+++ b/init/completions/vared.fish
@@ -0,0 +1,3 @@
+complete -c vared -x -a "(set|sed -e 's/ /\tVariable: /')"
+complete -c vared -s h -l help -d "Display help and exit"
+
diff --git a/init/completions/w.fish b/init/completions/w.fish
new file mode 100644
index 00000000..54abe5d1
--- /dev/null
+++ b/init/completions/w.fish
@@ -0,0 +1,6 @@
+complete -c w -s h -d "Dont print header"
+complete -c w -s u -d "Ignore username for time calculations"
+complete -c w -s s -d "Short format"
+complete -c w -s f -d "Toggle printing of remote hostname"
+complete -c w -s V -d "Display version and exit"
+complete -c w -x -a "(__fish_complete_users)" -d "Username"
diff --git a/init/completions/wc.fish b/init/completions/wc.fish
new file mode 100644
index 00000000..a9c2dcc3
--- /dev/null
+++ b/init/completions/wc.fish
@@ -0,0 +1,7 @@
+complete -c wc -s c -l bytes -d "Print byte counts"
+complete -c wc -s m -l chars -d "Print character counts"
+complete -c wc -s l -l lines -d "Print newline counts"
+complete -c wc -s L -l max-line-length -d "Print length of longest line"
+complete -c wc -s w -l words -d "Print word counts"
+complete -c wc -l help -d "Display help and exit"
+complete -c wc -l version -d "Display version and exit"
diff --git a/init/completions/wget.fish b/init/completions/wget.fish
new file mode 100644
index 00000000..42bb4cea
--- /dev/null
+++ b/init/completions/wget.fish
@@ -0,0 +1,110 @@
+
+complete -c wget -s V -l version -d "Display version and exit"
+complete -c wget -s h -l help -d "Display help and exit"
+complete -c wget -s b -l background -d "Go to background immediately after startup"
+complete -c wget -s e -l execute -d "Execute command as if part of .wgetrc" -x
+complete -c wget -s o -l output-file -d "Log all messages to logfile" -f
+complete -c wget -s a -l append-output -d "Append all messages to logfile"
+complete -c wget -s d -l debug -d "Turn on debug output"
+complete -c wget -s q -l quiet -d "Turn off Wget"\’"s output"
+complete -c wget -s v -l verbose -d "Turn on verbose output"
+complete -c wget -l non-verbose -d "Turn off verbose without being completely quiet"
+complete -c wget -o nv -d "Turn off verbose without being completely quiet"
+complete -c wget -s i -l input-file -d "Read URLs from file" -f
+complete -c wget -s F -l force-html -d "Force input to be treated as HTML"
+complete -c wget -s B -l base -d "Prepend string to relative links" -x
+complete -c wget -l bind-adress -d "Bind address on local machine" -xa "(__fish_print_addresses; __fish_print_hostnames)"
+complete -c wget -s t -l tries -d "Set number of retries to number" -xa "0 1 2 4 8 16 32 64 128"
+complete -c wget -s O -l output-document -d "Concatenate output to file" -f
+complete -c wget -l no-clobber -d "Never overwrite files with same name"
+complete -c wget -o nc -d "Never overwrite files with same name"
+complete -c wget -s c -l continue -d "Continue getting a partially-downloaded file"
+complete -c wget -l progress -d "Select progress meter type" -a "
+dot\t'Print one dot for every kB of data, 50 dots per line'
+dot:default\t'Print one dot for every kB of data, 50 dots per line'
+dot:binary\t'Print one dot for every 8 kB of data, 48 dots per line'
+dot:mega\t'Print one dot for every 64 kB of data, 48 dots per line'
+bar\t'Print progress bar'
+"
+complete -c wget -s N -l timestamping -d "Turn on time-stamping"
+complete -c wget -s S -l server-response -d "Print the headers/responses sent by servers"
+complete -c wget -l spider -d "Do not download the pages, just check that they are there"
+complete -c wget -s T -l timeout -d "Set the network timeout" -x
+complete -c wget -l dns-timeout -d "Set the DNS lookup timeout" -x
+complete -c wget -l connect-timeout -d "Set the connect timeout" -x
+complete -c wget -l read-timeout -d "Set the read (and write) timeout" -x
+complete -c wget -l limit-rate -d "Limit the download speed" -x
+complete -c wget -s w -l wait -d "Wait the specified number of seconds between the retrievals" -x
+complete -c wget -l waitretry -d "Wait time between retries" -x
+complete -c wget -l random-wait -d "Wait random amount of time between retrievals"
+complete -c wget -s Y -l proxy -d "Toggle proxy support" -xa "on off"
+complete -c wget -s Q -l quota -d "Specify download quota for automatic retrievals" -x
+complete -c wget -l dns-cache -d "Turn off caching of DNS lookups" -xa "off"
+complete -c wget -l restrict-file-names -d "Change which characters found in remote URLs may show up in local file names" -a "
+unix\t'Escape slash and non-printing characters'
+windows\t'Escape most non-alphabetical characters'
+"
+
+# HTTP options
+
+complete -c wget -l no-directories -d "Do not create a hierarchy of directories"
+complete -c wget -o nd -d "Do not create a hierarchy of directories"
+complete -c wget -s x -l force-directories -d "Force creation of a hierarchy of directories"
+complete -c wget -l no-host-directories -d "Disable generation of host-prefixed directories"
+complete -c wget -o nH -d "Disable generation of host-prefixed directories"
+complete -c wget -l protocal-directories -d "Use the protocol name as a directory component"
+complete -c wget -l cut-dirs -d "Ignore specified number of directory components" -xa "1 2 3 4 5"
+complete -c wget -s P -l directory-prefix -d "Set directory prefix" -f
+complete -c wget -s E -l html-extension -d "Force html files to have html extension"
+complete -c wget -l http-user -d "Specify the http username" -xa "(__fish_complete_users)"
+complete -c wget -l http-passwd -d "Specify the http password" -x
+complete -c wget -l no-cache -d "Disable server-side cache"
+complete -c wget -l no-cookies -d "Disable the use of cookies"
+complete -c wget -l load-cookies -d "Load cookies from file" -f
+complete -c wget -l save-cookies -d "Save cookies to file"
+complete -c wget -l keep-session-cookies -d "Save session cookies"
+complete -c wget -l ignore-length -d "Ignore 'Content-Length' header"
+complete -c wget -l header -d "Define an additional-header to be passed to the HTTP servers" -x
+complete -c wget -l proxy-user -d "Specify the proxy username" -xa "(__fish_complete_users)"
+complete -c wget -l proxy-password -d "Specify the proxy password" -x
+complete -c wget -l referer -d "Set referer URL" -x
+complete -c wget -l save-headers -d "Save the headers sent by the HTTP server"
+complete -c wget -s U -l user-agent -d "Identify as agent-string" -x
+complete -c wget -l post-data -d "Use POST as the method for all HTTP requests and send the specified data in the request body" -x
+complete -c wget -l post-file -d "Use POST as the method for all HTTP requests and send the specified data in the request body" -f
+complete -c wget -l no-http-keep-alive -d "Turn off keep-alive for http downloads"
+
+#FTP options
+
+complete -c wget -l no-remove-listing -d "Don"\’"t remove the temporary .listing files generated"
+complete -c wget -l no-glob -d "Turn off FTP globbing"
+complete -c wget -l passive-ftp -d "Use the passive FTP retrieval scheme"
+complete -c wget -l retr-symlinks -d "Traverse symlinks and retrive pointed-to files"
+
+# Recursive options
+
+complete -c wget -s r -l recursive -d "Turn on recursive retrieving"
+complete -c wget -n '__fish_contains_opt -s r recursive' -s l -l level -d "Specify recursion maximum depth" -x
+complete -c wget -l delete-after -d "delete every single file downloaded"
+complete -c wget -s k -l convert-links -d "convert the links in the document to make them suitable for local viewing"
+complete -c wget -s K -l backup-converted -d "Back up the original version"
+complete -c wget -s m -l mirror -d "Turn on options suitable for mirroring"
+complete -c wget -s p -l page-requisites -d "download all the files that are necessary to properly display a given HTML page"
+complete -c wget -l strict-comments -d "Turn on strict parsing of HTML comments"
+
+#Recursive accept/reject options
+
+complete -c wget -s A -l accept -d "comma-separated lists of file name suffixes or patterns to accept" -x
+complete -c wget -s R -l reject -d "comma-separated lists of file name suffixes or patterns to reject" -x
+complete -c wget -s D -l domains -d "Set domains to be followed" -x
+complete -c wget -l exclude-domains -d "Specify the domains that are not to be followed" -x
+complete -c wget -l follow-ftp -d "Follow FTP links from HTML documents"
+complete -c wget -l follow-tags -d "HTML tags to follow" -x
+complete -c wget -l ignore-tags -d "HTML tags to ignore" -x
+complete -c wget -s H -l span-hosts -d "Enable spanning across hosts"
+complete -c wget -s L -l relative -d "Follow relative links only"
+complete -c wget -s I -l include-directories -d "Specify a comma-separated list of directories you wish to follow" -x
+complete -c wget -s X -l exclude-directories -d "Specify a comma-separated list of directories you wish to exclude" -x
+complete -c wget -l no-parent -d "Do not ever ascend to the parent directory"
+complete -c wget -o np -d "Do not ever ascend to the parent directory"
+
diff --git a/init/completions/whatis.fish b/init/completions/whatis.fish
new file mode 100644
index 00000000..17a8f626
--- /dev/null
+++ b/init/completions/whatis.fish
@@ -0,0 +1,3 @@
+complete -y man
+
+complete -xc whatis -a "(__fish_complete_man)"
diff --git a/init/completions/who.fish b/init/completions/who.fish
new file mode 100644
index 00000000..1d788453
--- /dev/null
+++ b/init/completions/who.fish
@@ -0,0 +1,20 @@
+complete -c who -s a -l all -d "Same as -b -d --login -p -r -t -T -u"
+complete -c who -s b -l boot -d "Print time of last boot"
+complete -c who -s d -l dead -d "Print dead processes"
+complete -c who -s H -l heading -d "Print line of headings"
+complete -c who -s i -l idle -d "Print idle time"
+complete -c who -s l -l login -d "Print login process"
+complete -c who -l lookup -d "Canonicalize hostnames via DNS"
+complete -c who -s m -d "Print hostname and user for stdin"
+complete -c who -s p -l process -d "Print active processes spawned by init"
+complete -c who -s q -l count -d "Print all login names and number of users logged on"
+complete -c who -s r -l runlevel -d "Print current runlevel"
+complete -c who -s s -l short -d "Print name, line, and time"
+complete -c who -s t -l time -d "Print last system clock change"
+complete -c who -s T -l mesg -d "Print users message status as +, - or ?"
+complete -c who -s w -l writable -d "Print users message status as +, - or ?"
+complete -c who -l message -d "Print users message status as +, - or ?"
+complete -c who -s u -l users -d "List users logged in"
+complete -c who -l help -d "Print help and exit"
+complete -c who -l version -d "Print version and exit"
+
diff --git a/init/completions/xprop.fish b/init/completions/xprop.fish
new file mode 100644
index 00000000..058d20c7
--- /dev/null
+++ b/init/completions/xprop.fish
@@ -0,0 +1,32 @@
+
+complete -c xprop -o help -d "Display help and exit"
+complete -c xprop -o grammar -d "Display grammar and exit"
+complete -c xprop -o id -x -d "Select window by id"
+complete -c xprop -o name -d "Select window by name"
+complete -c xprop -o font -x -d "Display font properties"
+complete -c xprop -o root -d "Select root window"
+complete -c xprop -o display -d "Specify X server"
+complete -c xprop -o len -x -d "Maximum display length"
+complete -c xprop -o notype -d "Do not show property type"
+complete -c xprop -o fs -r -d "Set format file"
+complete -c xprop -o frame -d "Select window manager frame"
+complete -c xprop -o remove -d "Remove property" -x -a "
+(
+ xprop -root -notype|cut -d ' ' -f 1|cut -d \t -f 1
+)
+"
+
+complete -c xprop -o set -d "Set property" -x -a "
+(
+ xprop -root -notype|cut -d ' ' -f 1|cut -d \t -f 1
+)
+"
+
+complete -c xprop -o spy -d "Examine property updates forever"
+complete -c xprop -o f -d "Set format"
+complete -c xprop -d Property -x -a "
+(
+ xprop -root -notype|cut -d ' ' -f 1|cut -d \t -f 1
+)
+"
+
diff --git a/init/completions/xsel.fish b/init/completions/xsel.fish
new file mode 100644
index 00000000..958c4f87
--- /dev/null
+++ b/init/completions/xsel.fish
@@ -0,0 +1,18 @@
+complete -c xsel -s a -l append -d "Append input to selection"
+complete -c xsel -s f -l follow -d "Append to selection as input grows"
+complete -c xsel -s i -l input -d "Read into selection"
+complete -c xsel -s o -l output -d "Write selection"
+complete -c xsel -s c -l clear -d "Clear selection"
+complete -c xsel -s d -l delete -d "Delete selection"
+complete -c xsel -s p -l primary -d "Use primary selection"
+complete -c xsel -s s -l secondary -d "Use secondary selection"
+complete -c xsel -s b -l clipboard -d "Use clipboard selection"
+complete -c xsel -s k -l keep -d "Make current selections persistent after program exit"
+complete -c xsel -s x -l exchange -d "Exchange primary and secondary selections"
+complete -c xsel -l display -x -d "X server display"
+complete -c xsel -s t -l selectionTimeout -d "Timeout for retrieving selection"
+complete -c xsel -s l -l logfile -f -d "Error log"
+complete -c xsel -s n -l nodetach -d "Do not detach from the controlling terminal"
+complete -c xsel -s h -l help -d "Display help and exit"
+complete -c xsel -s v -l verbose -d "Print informative messages"
+complete -c xsel -l version -d "Display version and exit"
diff --git a/init/completions/yum.fish b/init/completions/yum.fish
new file mode 100644
index 00000000..07731251
--- /dev/null
+++ b/init/completions/yum.fish
@@ -0,0 +1,75 @@
+
+#Load rpm completions, since that is where the package completion function is defined
+complete -y rpm
+
+#All yum commands
+
+#Test if the yum command has been specified
+function __fish_yum_has_command
+ set modes install update check-update upgrade remove erase list provides whatprovides search info clean generate-rss
+ for i in (commandline -poc);
+ if contains $i $modes
+ return 1
+ end
+ end
+ return 0;
+end
+
+#Test if completing using package names is appropriate
+function __fish_yum_package_ok
+ for i in (commandline -poc)
+ if contains $i update upgrade remove erase
+ return 0
+ end
+ end
+ return 1
+end
+
+complete -c yum -n '__fish_yum_has_command' -xa "
+ install\t'Install the latest version of a package'
+ update\t'Update specified packages (defaults to all packages)'
+ check-update\t'Print list of available updates'
+ upgrade\t'Update specified packages including obsoletes (defaults to all packages)'
+ remove\t'remove the specified packages and packages that depend on them'
+ erase\t'remove the specified packages and packages that depend on them'
+ list\t'List information about avaialble packages'
+ provides\t'Find package providing a feature or file'
+ whatprovides\t'Find package providing a feature or file'
+ search\t'find packages matching description regexp'
+ info\t'List information about available packages'
+ clean\t'Clean up cache directory'
+ generate-rss\t'Generate rss changelog'
+"
+
+complete -c yum -n '__fish_yum_package_ok' -a "(__fish_print_packages)"
+
+complete -c yum -s h -l help -d "Display help and exit"
+complete -c yum -s y -d "Assume yes to all questions"
+complete -c yum -s c -d "Configuration file" -r
+complete -c yum -s d -d "Set debug level" -x
+complete -c yum -s e -d "Set error level" -x
+complete -c yum -s t -l tolerant -d "Be tolerant of errors in commandline"
+complete -c yum -s R -d "Set maximum delay between commands" -x
+complete -c yum -s c -d "Run commands from cache"
+complete -c yum -l version -d "Display version and exit"
+complete -c yum -l installroot -d "Specify installroot" -r
+complete -c yum -l enablerepo -d "Enable repository" -r
+complete -c yum -l disablerepo -d "Disable repository" -r
+complete -c yum -l obsoletes -d "Enables obsolets processing logic"
+complete -c yum -l rss-filename -d "Output rss-data to file" -r
+complete -c yum -l exclude -d "Exclude specified package from updates" -a "(__fish_print_packages)"
+
+complete -c yum -n 'contains list (commandline -poc)' -a "
+ all\t'List all packages'
+ available\t'List packages available for installation'
+ updates\t'List packages with updates available'
+ installed\t'List installed packages'
+ extras\t'List packages not available in repositories'
+ obsoletes\t'List packages that are obsoleted by packages in repositories'
+"
+
+complete -c yum -n 'contains clean (commandline -poc)' -x -a "
+ packages\t'Delete cached package files'
+ headers\t'Delete cached header files'
+ all\t'Delete all cache contents'
+" \ No newline at end of file
diff --git a/init/completions/zcat.fish b/init/completions/zcat.fish
new file mode 100644
index 00000000..7cab174f
--- /dev/null
+++ b/init/completions/zcat.fish
@@ -0,0 +1,10 @@
+complete -c zcat -x -a "(
+ __fish_complete_suffix (commandline -ct) .gz 'Compressed file'
+ __fish_complete_suffix (commandline -ct) .tgz 'Compressed archive'
+)
+"
+complete -c zcat -s f -l force -d "Overwrite"
+complete -c zcat -s h -l help -d "Display help"
+complete -c zcat -s L -l license -d "Print license"
+complete -c zcat -s V -l version -d "Display version"
+
diff --git a/init/completions/zip.fish b/init/completions/zip.fish
new file mode 100644
index 00000000..f00298e1
--- /dev/null
+++ b/init/completions/zip.fish
@@ -0,0 +1,32 @@
+# Completions for zip
+complete -c zip -s f -d "Freshen: only changed files"
+complete -c zip -s d -d "Delete entries in zipfile"
+complete -c zip -s u -d "Update: only changed or newer files"
+complete -c zip -s m -d "Move into zipfile (delete files)"
+complete -c zip -s r -d "Recurse into directories"
+complete -c zip -s j -d "Junk directory names"
+complete -c zip -s 0 -d "Store only"
+complete -c zip -s l -d "Convert LF to CR LF"
+complete -c zip -o ll -d "Convert CR LF to LF"
+complete -c zip -s 1 -d "Compress faster"
+complete -c zip -s 9 -d "Compress better"
+complete -c zip -s q -d "Quiet operation"
+complete -c zip -s v -d "Verbose operation"
+complete -c zip -s c -d "Add one-line comments"
+complete -c zip -s z -d "Add zipfile comments"
+complete -c zip -s @ -d "Read names from stdin"
+complete -c zip -s o -d "Make zipfile as old as the latest entry"
+complete -c zip -s x -r -d "Exclude the following names"
+complete -c zip -s i -r -d "Include only the following names"
+complete -c zip -s F -d "Fix zipfile"
+complete -c zip -o FF -d "Fix zipfile (try harder)"
+complete -c zip -s A -d "Adjust self-extracting exe"
+complete -c zip -s J -d "Junk zipfile prefix"
+complete -c zip -s T -d "Test zipfile integrity"
+complete -c zip -s X -d "Exclude extra file attributes"
+complete -c zip -s y -d "Store symbolic links as links"
+complete -c zip -s R -d "PKZIP recursion"
+complete -c zip -s e -d "Encrypt"
+complete -c zip -s n -r -d "Don\'t compress these suffixes"
+complete -c zip -s h -d "Usage"
+