aboutsummaryrefslogtreecommitdiffhomepage
path: root/share
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-06-15 17:30:10 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-06-15 17:30:33 -0700
commitf2b5292bcba352e85d038b3862d540946c520b82 (patch)
treed63a8efcf3871f4ac8a593c855535edb2381451f /share
parent3a94f6e8b368c731132a0cf781a4b9cacbf69e30 (diff)
Squashed commit of the following:
commit 33358874f1c275d8b08186e29f24a7889d2b5224 Author: maxfl <gmaxfl@gmail.com> Date: Thu Jun 14 11:01:13 2012 +0400 revert fish_pager commit cee1bc8a66ec3adc9573b76e1aca3131cd32db83 Author: maxfl <gmaxfl@gmail.com> Date: Thu Jun 14 10:57:41 2012 +0400 revert fish_pager.cpp commit 27f3bd39dd9903009503d20a59a9e2ba84add07a Author: maxfl <gmaxfl@gmail.com> Date: Wed Jun 13 17:35:20 2012 +0400 __fish_complete_command now can understand '--arg=option' tokens latexmk completion is updated commit 97b53a4b53de9389675783f3e90f58215d936356 Author: maxfl <gmaxfl@gmail.com> Date: Wed Jun 13 16:46:47 2012 +0400 . completion commit d5b63b9963b0a02a71f564e7392171c5eab005cd Author: maxfl <gmaxfl@gmail.com> Date: Wed Jun 13 16:46:13 2012 +0400 a lot of new completions commit ceab87d99425124aa010c64ed062e27202b850d2 Author: Maxim Gonchar <gonchar@myhost.localdomain> Date: Tue Jun 12 20:19:31 2012 +0400 A lot of new completions. Some small updates and fixes of old functions and completions. commit 950aecd570b51e1b9dc444cc651b282a220e8d94 Author: Maxim Gonchar <gonchar@myhost.localdomain> Date: Tue Jun 12 20:03:44 2012 +0400 step-coloring initial set_color correction
Diffstat (limited to 'share')
-rw-r--r--share/completions/..fish1
-rw-r--r--share/completions/abook.fish16
-rw-r--r--share/completions/acat.fish1
-rw-r--r--share/completions/accept.fish3
-rw-r--r--share/completions/adiff.fish1
-rw-r--r--share/completions/als.fish1
-rw-r--r--share/completions/amixer.fish14
-rw-r--r--share/completions/and.fish1
-rw-r--r--share/completions/animate.fish65
-rw-r--r--share/completions/apack.fish1
-rw-r--r--share/completions/arepack.fish1
-rw-r--r--share/completions/atool.fish3
-rw-r--r--share/completions/aunpack.fish1
-rw-r--r--share/completions/builtin.fish2
-rw-r--r--share/completions/cancel.fish3
-rw-r--r--share/completions/colordiff.fish2
-rw-r--r--share/completions/colorsvn.fish2
-rw-r--r--share/completions/combine.fish6
-rw-r--r--share/completions/command.fish1
-rw-r--r--share/completions/compare.fish45
-rw-r--r--share/completions/composite.fish85
-rw-r--r--share/completions/conjure.fish9
-rw-r--r--share/completions/convert.fish232
-rw-r--r--share/completions/cupsaccept.fish3
-rw-r--r--share/completions/cupsdisable.fish7
-rw-r--r--share/completions/cupsenable.fish7
-rw-r--r--share/completions/cupsreject.fish3
-rw-r--r--share/completions/cut.fish1
-rw-r--r--share/completions/diff.fish26
-rw-r--r--share/completions/display.fish97
-rw-r--r--share/completions/echo.fish2
-rw-r--r--share/completions/expand.fish5
-rw-r--r--share/completions/find.fish2
-rw-r--r--share/completions/flac.fish1
-rw-r--r--share/completions/fluxbox-remote.fish1
-rw-r--r--share/completions/function.fish3
-rw-r--r--share/completions/fuser.fish23
-rw-r--r--share/completions/gpasswd.fish10
-rw-r--r--share/completions/gv.fish54
-rw-r--r--share/completions/gvim.fish2
-rw-r--r--share/completions/gvimdiff.fish3
-rw-r--r--share/completions/highlight.fish8
-rw-r--r--share/completions/identify.fish33
-rw-r--r--share/completions/ifdata.fish31
-rw-r--r--share/completions/import.fish69
-rw-r--r--share/completions/latexmk.fish75
-rw-r--r--share/completions/lp.fish12
-rw-r--r--share/completions/lpadmin.fish32
-rw-r--r--share/completions/lpinfo.fish9
-rw-r--r--share/completions/lpmove.fish2
-rw-r--r--share/completions/lpoptions.fish8
-rw-r--r--share/completions/lppasswd.fish4
-rw-r--r--share/completions/lpq.fish3
-rw-r--r--share/completions/lpr.fish11
-rw-r--r--share/completions/lprm.fish1
-rw-r--r--share/completions/lpstat.fish16
-rw-r--r--share/completions/lsblk.fish16
-rw-r--r--share/completions/lsof.fish19
-rw-r--r--share/completions/lua.fish8
-rw-r--r--share/completions/lxpanel.fish5
-rw-r--r--share/completions/md5sum.fish1
-rw-r--r--share/completions/mktemp.fish7
-rw-r--r--share/completions/mocp.fish35
-rw-r--r--share/completions/mogrify.fish212
-rw-r--r--share/completions/montage.fish107
-rw-r--r--share/completions/mutt.fish6
-rw-r--r--share/completions/namei.fish8
-rw-r--r--share/completions/ncdu.fish7
-rw-r--r--share/completions/nl.fish21
-rw-r--r--share/completions/not.fish2
-rw-r--r--share/completions/or.fish1
-rw-r--r--share/completions/pacman-color.fish3
-rw-r--r--share/completions/pacman.fish58
-rw-r--r--share/completions/pactree.fish11
-rw-r--r--share/completions/pgrep.fish4
-rw-r--r--share/completions/pinky.fish12
-rw-r--r--share/completions/pkgfile.fish12
-rw-r--r--share/completions/pkill.fish9
-rw-r--r--share/completions/poff.fish7
-rw-r--r--share/completions/pon.fish1
-rw-r--r--share/completions/ps.fish28
-rw-r--r--share/completions/pydf.fish18
-rw-r--r--share/completions/python.fish15
-rw-r--r--share/completions/python2.fish1
-rw-r--r--share/completions/python3.fish2
-rw-r--r--share/completions/rc.d.fish7
-rw-r--r--share/completions/readlink.fish8
-rw-r--r--share/completions/realpath.fish11
-rw-r--r--share/completions/reject.fish3
-rw-r--r--share/completions/rfkill.fish4
-rw-r--r--share/completions/root.fish10
-rw-r--r--share/completions/scanimage.fish40
-rw-r--r--share/completions/scrot.fish11
-rw-r--r--share/completions/seq.fish7
-rw-r--r--share/completions/setxkbmap.fish24
-rw-r--r--share/completions/sha1sum.fish1
-rw-r--r--share/completions/sha224sum.fish1
-rw-r--r--share/completions/sha256sum.fish1
-rw-r--r--share/completions/sha384sum.fish1
-rw-r--r--share/completions/sha512sum.fish1
-rw-r--r--share/completions/stat.fish7
-rw-r--r--share/completions/stream.fish33
-rw-r--r--share/completions/su.fish2
-rw-r--r--share/completions/svn.fish890
-rw-r--r--share/completions/tail.fish12
-rw-r--r--share/completions/tee.fish4
-rw-r--r--share/completions/tmux.fish13
-rw-r--r--share/completions/tr.fish20
-rw-r--r--share/completions/tree.fish58
-rw-r--r--share/completions/umount.fish2
-rw-r--r--share/completions/unexpand.fish6
-rw-r--r--share/completions/valgrind.fish19
-rw-r--r--share/completions/vimdiff.fish3
-rw-r--r--share/completions/wicd-cli.fish17
-rw-r--r--share/completions/wicd-client.fish6
-rw-r--r--share/completions/wicd-gtk.fish6
-rw-r--r--share/completions/wvdial.fish5
-rw-r--r--share/completions/xdg-mime.fish32
-rw-r--r--share/completions/xrandr.fish61
-rw-r--r--share/completions/xrdb.fish21
-rw-r--r--share/completions/yaourt.fish3
-rw-r--r--share/functions/__fish_bind_test1.fish40
-rw-r--r--share/functions/__fish_commandline_test.fish28
-rw-r--r--share/functions/__fish_complete_abook_formats.fish13
-rw-r--r--share/functions/__fish_complete_atool.fish37
-rw-r--r--share/functions/__fish_complete_atool_archive_contents.fish20
-rw-r--r--share/functions/__fish_complete_command.fish12
-rw-r--r--share/functions/__fish_complete_convert_options.fish16
-rw-r--r--share/functions/__fish_complete_diff.fish28
-rw-r--r--share/functions/__fish_complete_list.fish30
-rw-r--r--share/functions/__fish_complete_lpr.fish38
-rw-r--r--share/functions/__fish_complete_lpr_option.fish25
-rw-r--r--share/functions/__fish_complete_pacman.fish101
-rw-r--r--share/functions/__fish_complete_pgrep.fish16
-rw-r--r--share/functions/__fish_complete_ppp_peer.fish4
-rw-r--r--share/functions/__fish_complete_proc.fish3
-rw-r--r--share/functions/__fish_complete_python.fish34
-rw-r--r--share/functions/__fish_complete_setxkbmap.fish3
-rw-r--r--share/functions/__fish_complete_subcommand.fish19
-rw-r--r--share/functions/__fish_complete_svn.fish319
-rw-r--r--share/functions/__fish_complete_svn_diff.fish25
-rw-r--r--share/functions/__fish_complete_tex.fish22
-rw-r--r--share/functions/__fish_complete_vi.fish12
-rw-r--r--share/functions/__fish_complete_wvdial_peers.fish29
-rw-r--r--share/functions/__fish_complete_xsum.fish13
-rw-r--r--share/functions/__fish_is_token_n.fish10
-rw-r--r--share/functions/__fish_print_abook_emails.fish4
-rw-r--r--share/functions/__fish_print_arch_daemons.fish4
-rw-r--r--share/functions/__fish_print_lpr_options.fish4
-rw-r--r--share/functions/__fish_print_lpr_printers.fish5
-rw-r--r--share/functions/__fish_print_lsblk_columns.fish4
-rw-r--r--share/functions/__fish_print_mounted.fish4
-rw-r--r--share/functions/__fish_print_svn_rev.fish10
-rw-r--r--share/functions/__fish_print_xdg_mimeapps.fish4
-rw-r--r--share/functions/__fish_print_xdg_mimetypes.fish5
-rw-r--r--share/functions/__fish_print_xrandr_modes.fish13
-rw-r--r--share/functions/__fish_print_xrandr_outputs.fish5
-rw-r--r--share/functions/__fish_print_xwindows.fish4
-rw-r--r--share/functions/contains_seq.fish50
159 files changed, 2975 insertions, 1084 deletions
diff --git a/share/completions/..fish b/share/completions/..fish
new file mode 100644
index 00000000..dcb48a1e
--- /dev/null
+++ b/share/completions/..fish
@@ -0,0 +1 @@
+complete -c . -x -a "(__fish_complete_suffix .fish)"
diff --git a/share/completions/abook.fish b/share/completions/abook.fish
new file mode 100644
index 00000000..8b983beb
--- /dev/null
+++ b/share/completions/abook.fish
@@ -0,0 +1,16 @@
+
+complete -c abook -s h -d 'Show usage'
+complete -c abook -s C -l config -d 'Use an alternative configuration file' -r
+complete -c abook -l datafile -d 'Use an alternative addressbook file' -r
+complete -c abook -l mutt-query -d 'Make a query for mutt' -x
+complete -c abook -l add-email -d 'Read email message from stdin and add the sender'
+complete -c abook -l add-email-quiet -d 'Same as --add-email. Without confirmation'
+complete -c abook -l convert -d 'Convert address book files'
+
+set -l convert 'contains -- --convert (commandline -po)'
+complete -c abook -l informat -d 'Input file format' -xa '(__fish_complete_abook_formats in)' -n $convert
+complete -c abook -l outformat -d 'Output file format' -xa '(__fish_complete_abook_formats out)' -n $convert
+complete -c abook -l infile -d 'Input file (default: stdin)' -r -n $convert
+complete -c abook -l outfile -d 'Output file (default: stdout)' -r -n $convert
+
+complete -c abook -l formats -d 'Print available formats'
diff --git a/share/completions/acat.fish b/share/completions/acat.fish
new file mode 100644
index 00000000..444e915e
--- /dev/null
+++ b/share/completions/acat.fish
@@ -0,0 +1 @@
+__fish_complete_atool acat
diff --git a/share/completions/accept.fish b/share/completions/accept.fish
new file mode 100644
index 00000000..3765d572
--- /dev/null
+++ b/share/completions/accept.fish
@@ -0,0 +1,3 @@
+__fish_complete_lpr accept
+complete -c accept -s r -d 'Accept reason' -x
+
diff --git a/share/completions/adiff.fish b/share/completions/adiff.fish
new file mode 100644
index 00000000..f64167d8
--- /dev/null
+++ b/share/completions/adiff.fish
@@ -0,0 +1 @@
+__fish_complete_atool adiff
diff --git a/share/completions/als.fish b/share/completions/als.fish
new file mode 100644
index 00000000..5c494a20
--- /dev/null
+++ b/share/completions/als.fish
@@ -0,0 +1 @@
+__fish_complete_atool als
diff --git a/share/completions/amixer.fish b/share/completions/amixer.fish
new file mode 100644
index 00000000..a901fe35
--- /dev/null
+++ b/share/completions/amixer.fish
@@ -0,0 +1,14 @@
+set -l cmds 'scontrols scontents controls contents sget sset cset cget set get'
+complete -c amixer -xa "$cmds" -n "not __fish_seen_subcommand_from $cmds"
+complete -c amixer -n '__fish_seen_subcommand_from sset sget get set' -xa "(amixer scontrols | cut --delimiter \' --fields 2)"
+
+complete -c amixer -s h -l help -d 'this help'
+complete -c amixer -s c -l card -r -d 'select the card'
+complete -c amixer -s D -l device -r -d 'select the device, default \'default\''
+complete -c amixer -s d -l debug -d 'debug mode'
+complete -c amixer -s n -l nocheck -d 'do not perform range checking'
+complete -c amixer -s v -l version -d 'print version of this program'
+complete -c amixer -s q -l quiet -d 'be quiet'
+complete -c amixer -s i -l inactive -d 'show also inactive controls'
+complete -c amixer -s a -l abstract -d 'select abstraction level' -xa 'none basic'
+complete -c amixer -s s -l stdin -d 'Read and execute commands from stdin sequentially'
diff --git a/share/completions/and.fish b/share/completions/and.fish
index da0d54a3..1133aa01 100644
--- a/share/completions/and.fish
+++ b/share/completions/and.fish
@@ -1,2 +1,3 @@
complete -c and -s h -l help --description 'Display help and exit'
+complete -c and -xa '__fish_complete_subcommand'
diff --git a/share/completions/animate.fish b/share/completions/animate.fish
new file mode 100644
index 00000000..70c9323d
--- /dev/null
+++ b/share/completions/animate.fish
@@ -0,0 +1,65 @@
+complete -c animate -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(animate -list alpha)'
+complete -c animate -o authenticate -d 'Decipher image with this password [password]'
+complete -c animate -o backdrop -d 'Display image centered on a backdrop'
+complete -c animate -o channel -d 'Apply option to select image channels [type]' -xa '(animate -list channel)'
+complete -c animate -o colormap -d 'Shared or Private [type]' -x
+complete -c animate -o colorspace -d 'Alternate image colorspace [type]' -xa '(animate -list colorspace)'
+complete -c animate -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
+complete -c animate -o define -d 'Define one or more image format options [format:option]'
+complete -c animate -o delay -d 'Display the next image after pausing [value]'
+complete -c animate -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c animate -o depth -d 'Image depth [value]'
+complete -c animate -o display -d 'Display image to this X server [server]'
+complete -c animate -o dispose -d 'Layer disposal method [method]' -xa '(animate -list dispose)'
+complete -c animate -o dither -d 'Apply error diffusion to image [method]' -xa '(animate -list dither)'
+complete -c animate -o filter -d 'Use this filter when resizing an image [type]' -xa '(animate -list filter)'
+complete -c animate -o format -d 'Output formatted image characteristics ["string"]'
+complete -c animate -o gamma -d 'Level of gamma correction [value]'
+complete -c animate -o geometry -d 'Preferred size and location of the Image window [geometry]'
+complete -c animate -o gravity -d 'Horizontal and vertical backdrop placement [type]' -xa '(animate -list gravity)'
+complete -c animate -o identify -d 'Identify the format and characteristics of the image'
+complete -c animate -o immutable -d 'Displayed image cannot be modified'
+complete -c animate -o interlace -d 'Type of image interlacing scheme [type]' -xa '(animate -list interlace)'
+complete -c animate -o interpolate -d 'Pixel color interpolation method [method]' -xa '(animate -list interpolate)'
+complete -c animate -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c animate -o loop -d 'Loop images then exit [iterations]'
+complete -c animate -o map -d 'Display image using this Standard Colormap [type]' -x
+complete -c animate -o monitor -d 'Monitor progress '
+complete -c animate -o pause -d 'Seconds to pause before reanimating'
+complete -c animate -o page -d 'Size and location of an image canvas (setting) [geometry]'
+complete -c animate -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(animate -list colorspace)'
+complete -c animate -o quiet -d 'Suppress all warning messages'
+complete -c animate -o regard-warnings -d 'Pay attention to warning messages'
+complete -c animate -o remote -d 'Command execute a command in an remote display process'
+complete -c animate -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
+complete -c animate -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c animate -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c animate -o set -d 'Attribute set an image attribute [ value]'
+complete -c animate -o size -d 'Width and height of image [geometry]'
+complete -c animate -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c animate -o treedepth -d 'Color tree depth [value]'
+complete -c animate -o verbose -d 'Print detailed information about the image'
+complete -c animate -o visual -d 'Display image using this visual type [type]' -x
+complete -c animate -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(animate -list virtual-pixel)'
+complete -c animate -o window -d 'Display image to background of this window [id]' -xa 'root (__fish_print_xwindows)'
+complete -c animate -o colors -d 'Preferred number of colors in the image [value]'
+complete -c animate -o crop -d 'Preferred size and location of the cropped image [geometry]'
+complete -c animate -o extract -d 'Extract area from image [geometry]'
+complete -c animate -o monochrome -d 'Transform image to black and white'
+complete -c animate -o repage -d 'Size and location of an image canvas (operator) [geometry]'
+complete -c animate -o resample -d 'Change the resolution of an image [geometry]'
+complete -c animate -o resize -d 'Resize the image [geometry]'
+complete -c animate -o rotate -d 'Apply Paeth rotation to the image [degrees]'
+complete -c animate -o strip -d 'Strip image of all profiles and comments'
+complete -c animate -o thumbnail -d 'Create a thumbnail of the image [geometry]'
+complete -c animate -o trim -d 'Trim image edges'
+complete -c animate -o coalesce -d 'Merge a sequence of images'
+complete -c animate -o flatten -d 'Flatten a sequence of images'
+complete -c animate -o debug -d 'Display copious debugging information [events]' -xa '(animate -list debug)'
+complete -c animate -o help -d 'Print program options'
+complete -c animate -o list -d 'Print a list of supported option arguments [type]' -xa '(animate -list list)'
+complete -c animate -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c animate -o version -d 'Print version information Press any button to map or unmap the Command widget'
+complete -c animate -o matte -d 'Store matte channel if the image has one'
+complete -c animate -o scenes -d 'Range image scene range'
+complete -c animate -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
diff --git a/share/completions/apack.fish b/share/completions/apack.fish
new file mode 100644
index 00000000..a3aff7e3
--- /dev/null
+++ b/share/completions/apack.fish
@@ -0,0 +1 @@
+__fish_complete_atool apack
diff --git a/share/completions/arepack.fish b/share/completions/arepack.fish
new file mode 100644
index 00000000..08c84799
--- /dev/null
+++ b/share/completions/arepack.fish
@@ -0,0 +1 @@
+__fish_complete_atool arepack
diff --git a/share/completions/atool.fish b/share/completions/atool.fish
new file mode 100644
index 00000000..09480e54
--- /dev/null
+++ b/share/completions/atool.fish
@@ -0,0 +1,3 @@
+
+__fish_complete_atool atool
+
diff --git a/share/completions/aunpack.fish b/share/completions/aunpack.fish
new file mode 100644
index 00000000..6234a4c9
--- /dev/null
+++ b/share/completions/aunpack.fish
@@ -0,0 +1 @@
+__fish_complete_atool aunpack
diff --git a/share/completions/builtin.fish b/share/completions/builtin.fish
index 7640cf36..c630e6b7 100644
--- a/share/completions/builtin.fish
+++ b/share/completions/builtin.fish
@@ -1,3 +1,5 @@
complete -c builtin -s h -l help --description 'Display help and exit'
complete -c builtin -s n -l names --description 'Print names of all existing builtins'
+complete -c builtin -xa '(builtin -n)'
+complete -c builtin -n '__fish_use_subcommand' -xa '__fish_complete_subcommand'
diff --git a/share/completions/cancel.fish b/share/completions/cancel.fish
new file mode 100644
index 00000000..d890b389
--- /dev/null
+++ b/share/completions/cancel.fish
@@ -0,0 +1,3 @@
+__fish_complete_lpr cancel
+complete -c cancel -s u -d 'Cancel jobs owned by username' -xa '(__fish_complete_users)'
+
diff --git a/share/completions/colordiff.fish b/share/completions/colordiff.fish
new file mode 100644
index 00000000..7ff8bedb
--- /dev/null
+++ b/share/completions/colordiff.fish
@@ -0,0 +1,2 @@
+# Completions for diff
+__fish_complete_diff colordiff
diff --git a/share/completions/colorsvn.fish b/share/completions/colorsvn.fish
new file mode 100644
index 00000000..c1149058
--- /dev/null
+++ b/share/completions/colorsvn.fish
@@ -0,0 +1,2 @@
+__fish_complete_svn colorsvn
+
diff --git a/share/completions/combine.fish b/share/completions/combine.fish
new file mode 100644
index 00000000..592981c2
--- /dev/null
+++ b/share/completions/combine.fish
@@ -0,0 +1,6 @@
+complete -c combine -d 'Combine sets of lines from two files using boolean operations'
+complete -c combine -a and -d 'Output lines that are in both files'
+complete -c combine -a not -d 'Output lines that are inf file1 but not in file2'
+complete -c combine -a or -d 'Output lines that are in file1 or in file2'
+complete -c combine -a xor -d 'Output lines that are in either file1 or file2, but not in both files'
+complete -c combine -a - -d 'Read file from stdin'
diff --git a/share/completions/command.fish b/share/completions/command.fish
index 1de6e495..53d27f7f 100644
--- a/share/completions/command.fish
+++ b/share/completions/command.fish
@@ -1,2 +1,3 @@
complete -c command -s h -l help --description 'Display help and exit'
+complete -c command --description "Command to run" -xa "(__fish_complete_subcommand)"
diff --git a/share/completions/compare.fish b/share/completions/compare.fish
new file mode 100644
index 00000000..6c89b457
--- /dev/null
+++ b/share/completions/compare.fish
@@ -0,0 +1,45 @@
+complete -c compare -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(compare -list alpha)'
+complete -c compare -o authenticate -d 'Decipher image with this password [password]'
+complete -c compare -o channel -d 'Apply option to select image channels [type]' -xa '(compare -list channel)'
+complete -c compare -o colorspace -d 'Alternate image colorspace [type]' -xa '(compare -list colorspace)'
+complete -c compare -o compose -d 'Set image composite operator [operator]'
+complete -c compare -o compress -d 'Type of pixel compression when writing the image [type]' -xa '(compare -list compress)'
+complete -c compare -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
+complete -c compare -o define -d 'Define one or more image format options [format:option]'
+complete -c compare -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c compare -o depth -d 'Image depth [value]'
+complete -c compare -o dissimilarity-threshold -d 'Maximum distortion for (sub)image match [value]'
+complete -c compare -o encipher -d 'Convert plain pixels to cipher pixels [filename]' -r
+complete -c compare -o extract -d 'Extract area from image [geometry]'
+complete -c compare -o format -d 'Output formatted image characteristics ["string"]'
+complete -c compare -o fuzz -d 'Colors within this distance are considered equal [distance]'
+complete -c compare -o highlight-color -d 'Empasize pixel differences with this color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c compare -o identify -d 'Identify the format and characteristics of the image'
+complete -c compare -o interlace -d 'Type of image interlacing scheme [type]' -xa '(compare -list interlace)'
+complete -c compare -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c compare -o lowlight-color -d 'De-emphasize pixel differences with this color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c compare -o metric -d 'Measure differences between images with this metric [type]' -xa '(compare -list metric)'
+complete -c compare -o monitor -d 'Monitor progress '
+complete -c compare -o passphrase -d 'Get the passphrase from this file [filename]' -r
+complete -c compare -o profile -d 'Add, delete, or apply an image profile [filename]' -r
+complete -c compare -o quality -d 'JPEG/MIFF/PNG compression level [value]'
+complete -c compare -o quiet -d 'Suppress all warning messages'
+complete -c compare -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(compare -list colorspace)'
+complete -c compare -o regard-warnings -d 'Pay attention to warning messages'
+complete -c compare -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
+complete -c compare -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c compare -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c compare -o set -d 'Attribute set an image attribute [ value]'
+complete -c compare -o size -d 'Width and height of image [geometry]'
+complete -c compare -o subimage-search -d 'Search for subimage'
+complete -c compare -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c compare -o type -d 'Image type [type]' -xa '(compare -list type)'
+complete -c compare -o verbose -d 'Print detailed information about the image'
+complete -c compare -o version -d 'Print version information'
+complete -c compare -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(compare -list virtual-pixel)'
+complete -c compare -o debug -d 'Display copious debugging information [events]' -xa '(compare -list debug)'
+complete -c compare -o help -d 'Print program options'
+complete -c compare -o list -d 'Print a list of supported option arguments [type]' -xa '(compare -list list)'
+complete -c compare -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c compare -o synchronize -d 'Synchronize image to storage device'
+complete -c compare -o taint -d 'Declare the image as modified'
diff --git a/share/completions/composite.fish b/share/completions/composite.fish
new file mode 100644
index 00000000..28de7739
--- /dev/null
+++ b/share/completions/composite.fish
@@ -0,0 +1,85 @@
+complete -c composite -o affine -d 'Affine transform matrix [matrix]'
+complete -c composite -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(convert -list alpha)'
+complete -c composite -o authenticate -d 'Decipher image with this password [password]'
+complete -c composite -o blue-primary -d 'Chromaticity blue primary point [point]'
+complete -c composite -o channel -d 'Apply option to select image channels [type]' -xa '(convert -list channel)'
+complete -c composite -o colorspace -d 'Alternate image colorspace [type]' -xa '(convert -list colorspace)'
+complete -c composite -o comment -d 'Annotate image with comment [string]'
+complete -c composite -o compose -d 'Composite operator [operator]'
+complete -c composite -o compress -d 'Type of pixel compression when writing the image [type]' -xa '(convert -list compress)'
+complete -c composite -o define -d 'Define one or more image format options [format:option]'
+complete -c composite -o depth -d 'Image depth [value]'
+complete -c composite -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c composite -o display -d 'Get image or font from this X server [server]'
+complete -c composite -o dispose -d 'Layer disposal method [method]' -xa '(convert -list dispose)'
+complete -c composite -o dither -d 'Apply error diffusion to image [method]' -xa '(convert -list dither)'
+complete -c composite -o encoding -d 'Encoding type [type text]' -xa '(__fish_print_encodings)'
+complete -c composite -o endian -d 'Endianness (MSB or LSB) of the image [type]' -xa '(convert -list endian)'
+complete -c composite -o filter -d 'Use this filter when resizing an image [type]' -xa '(convert -list filter)'
+complete -c composite -o font -d 'Render text with this font [name]' -xa '(__fish_complete_convert_options font)'
+complete -c composite -o format -d 'Output formatted image characteristics ["string"]'
+complete -c composite -o gravity -d 'Which direction to gravitate towards [type]' -xa '(convert -list gravity)'
+complete -c composite -o green-primary -d 'Chromaticity green primary point [point]'
+complete -c composite -o interlace -d 'Type of image interlacing scheme [type]' -xa '(convert -list interlace)'
+complete -c composite -o interpolate -d 'Pixel color interpolation method [method]' -xa '(convert -list interpolate)'
+complete -c composite -o label -d 'Assign a label to an image [string]'
+complete -c composite -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c composite -o monitor -d 'Monitor progress '
+complete -c composite -o page -d 'Size and location of an image canvas (setting) [geometry]'
+complete -c composite -o pointsize -d 'Font point size [value]'
+complete -c composite -o quality -d 'JPEG/MIFF/PNG compression level [value]'
+complete -c composite -o quiet -d 'Suppress all warning messages'
+complete -c composite -o red-primary -d 'Chromaticity red primary point [point]'
+complete -c composite -o regard-warnings -d 'Pay attention to warning messages'
+complete -c composite -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
+complete -c composite -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c composite -o scene -d 'Image scene number [value]'
+complete -c composite -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c composite -o size -d 'Width and height of image [geometry]'
+complete -c composite -o synchronize -d 'Synchronize image to storage device'
+complete -c composite -o taint -d 'Declare the image as modified'
+complete -c composite -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c composite -o treedepth -d 'Color tree depth [value]'
+complete -c composite -o tile -d 'Repeat composite operation across and down image'
+complete -c composite -o units -d 'The units of image resolution [type]' -xa '(convert -list units)'
+complete -c composite -o verbose -d 'Print detailed information about the image'
+complete -c composite -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(convert -list virtual-pixel)'
+complete -c composite -o white-point -d 'Chromaticity white point [point]'
+complete -c composite -o blend -d 'Blend images [geometry]'
+complete -c composite -o border -d 'Surround image with a border of color [geometry]'
+complete -c composite -o bordercolor -d 'Border color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c composite -o colors -d 'Preferred number of colors in the image [value]'
+complete -c composite -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
+complete -c composite -o displace -d 'Shift lookup according to a relative displacement map [geometry]'
+complete -c composite -o dissolve -d 'Dissolve the two images a given percent [value]'
+complete -c composite -o distort -d 'Shift lookup according to a absolute distortion map [geometry]'
+complete -c composite -o encipher -d 'Convert plain pixels to cipher pixels [filename]' -r
+complete -c composite -o extract -d 'Extract area from image [geometry]'
+complete -c composite -o geometry -d 'Location of the composite image [geometry]'
+complete -c composite -o identify -d 'Identify the format and characteristics of the image'
+complete -c composite -o monochrome -d 'Transform image to black and white'
+complete -c composite -o negate -d 'Replace every pixel with its complementary color '
+complete -c composite -o profile -d 'Add ICM or IPTC information profile to image [filename]' -r
+complete -c composite -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(convert -list colorspace)'
+complete -c composite -o repage -d 'Size and location of an image canvas (operator) [geometry]'
+complete -c composite -o rotate -d 'Apply Paeth rotation to the image [degrees]'
+complete -c composite -o resize -d 'Resize the image [geometry]'
+complete -c composite -o sharpen -d 'Sharpen the image [geometry]'
+complete -c composite -o shave -d 'Shave pixels from the image edges [geometry]'
+complete -c composite -o stegano -d 'Offset hide watermark within an image'
+complete -c composite -o stereo -d 'Combine two image to create a stereo anaglyph [geometry]'
+complete -c composite -o strip -d 'Strip image of all profiles and comments'
+complete -c composite -o thumbnail -d 'Create a thumbnail of the image [geometry]'
+complete -c composite -o transform -d 'Affine transform image'
+complete -c composite -o type -d 'Image type [type]' -xa '(convert -list type)'
+complete -c composite -o unsharp -d 'Sharpen the image [geometry]'
+complete -c composite -o watermark -d 'Percent brightness and saturation of a watermark [geometry]'
+complete -c composite -o write -d 'Write images to this file [filename]' -r
+complete -c composite -o swap -d 'Swap two images in the image sequence [indexes]'
+complete -c composite -o debug -d 'Display copious debugging information [events]' -xa '(convert -list debug)'
+complete -c composite -o help -d 'Print program options'
+complete -c composite -o list -d 'Print a list of supported option arguments [type]' -xa '(convert -list list)'
+complete -c composite -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c composite -o version -d 'Print version information'
+complete -c composite -o matte -d 'Store matte channel if the image has one'
+complete -c composite -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
diff --git a/share/completions/conjure.fish b/share/completions/conjure.fish
new file mode 100644
index 00000000..8907ad20
--- /dev/null
+++ b/share/completions/conjure.fish
@@ -0,0 +1,9 @@
+complete -c conjure -o monitor -d 'Monitor progress '
+complete -c conjure -o quiet -d 'Suppress all warning messages'
+complete -c conjure -o regard-warnings -d 'Pay attention to warning messages'
+complete -c conjure -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c conjure -o verbose -d 'Print detailed information about the image'
+complete -c conjure -o debug -d 'Display copious debugging information [events]' -xa '(convert -list debug)'
+complete -c conjure -o help -d 'Print program options'
+complete -c conjure -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+#complete -c conjure -o list -d 'Print a list of supported option arguments [type]' -xa '(convert -list list)'
diff --git a/share/completions/convert.fish b/share/completions/convert.fish
new file mode 100644
index 00000000..95e7b5dd
--- /dev/null
+++ b/share/completions/convert.fish
@@ -0,0 +1,232 @@
+complete -c convert -o adjoin -d 'Join images into a single multi-image file'
+complete -c convert -o affine -d 'Affine transform matrix [matrix]'
+complete -c convert -o alpha -d 'Activate, deactivate, reset, or set the alpha channel [option]' -xa '(convert -list alpha)'
+complete -c convert -o antialias -d 'Remove pixel-aliasing '
+complete -c convert -o authenticate -d 'Decipher image with this password [password]'
+complete -c convert -o attenuate -d 'Lessen (or intensify) when adding noise to an image [value]'
+complete -c convert -o background -d 'Background color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o bias -d 'Add bias when convolving an image [value]'
+complete -c convert -o black-point-compensation -d 'Use black point compensation'
+complete -c convert -o blue-primary -d 'Chromaticity blue primary point [point]'
+complete -c convert -o bordercolor -d 'Border color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o caption -d 'Assign a caption to an image [string]'
+complete -c convert -o channel -d 'Apply option to select image channels [type]' -xa '(convert -list channel)'
+complete -c convert -o colors -d 'Preferred number of colors in the image [value]'
+complete -c convert -o colorspace -d 'Alternate image colorspace [type]' -xa '(convert -list colorspace)'
+complete -c convert -o comment -d 'Annotate image with comment [string]'
+complete -c convert -o compose -d 'Set image composite operator [operator]'
+complete -c convert -o compress -d 'Type of pixel compression when writing the image [type]' -xa '(convert -list compress)'
+complete -c convert -o define -d 'Define one or more image format options [format:option]'
+complete -c convert -o delay -d 'Display the next image after pausing [value]'
+complete -c convert -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c convert -o depth -d 'Image depth [value]'
+complete -c convert -o direction -d 'Render text right-to-left or left-to-right [type]' -xa '(convert -list direction)'
+complete -c convert -o display -d 'Get image or font from this X server [server]'
+complete -c convert -o dispose -d 'Layer disposal method [method]' -xa '(convert -list dispose)'
+complete -c convert -o dither -d 'Apply error diffusion to image [method]' -xa '(convert -list dither)'
+complete -c convert -o encoding -d 'Encoding type [type text]' -xa '(__fish_print_encodings)'
+complete -c convert -o endian -d 'Endianness (MSB or LSB) of the image [type]' -xa '(convert -list endian)'
+complete -c convert -o family -d 'Render text with this font family [name]' -xa '(__fish_complete_convert_options family)'
+complete -c convert -o fill -d 'Color to use when filling a graphic primitive [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o filter -d 'Use this filter when resizing an image [type]' -xa '(convert -list filter)'
+complete -c convert -o font -d 'Render text with this font [name]' -xa '(__fish_complete_convert_options font)'
+complete -c convert -o format -d 'Output formatted image characteristics ["string"]'
+complete -c convert -o fuzz -d 'Colors within this distance are considered equal [distance]'
+complete -c convert -o gravity -d 'Horizontal and vertical text placement [type]' -xa '(convert -list gravity)'
+complete -c convert -o green-primary -d 'Chromaticity green primary point [point]'
+complete -c convert -o intent -d 'Type of rendering intent when managing the image color [type]' -xa '(convert -list intent)'
+complete -c convert -o interlace -d 'Type of image interlacing scheme [type]' -xa '(convert -list interlace)'
+complete -c convert -o interline-spacing -d 'Set the space between two text lines [value]'
+complete -c convert -o interpolate -d 'Pixel color interpolation method [method]' -xa '(convert -list interpolate)'
+complete -c convert -o interword-spacing -d 'Set the space between two words [value]'
+complete -c convert -o kerning -d 'Set the space between two letters [value]'
+complete -c convert -o label -d 'Assign a label to an image [string]'
+complete -c convert -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c convert -o loop -d 'Add Netscape loop extension to your GIF animation [iterations]'
+complete -c convert -o mask -d 'Associate a mask with the image [filename]' -r
+complete -c convert -o mattecolor -d 'Frame color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o monitor -d 'Monitor progress '
+complete -c convert -o orient -d 'Image orientation [type]' -xa '(convert -list orientation)'
+complete -c convert -o page -d 'Size and location of an image canvas (setting) [geometry]'
+complete -c convert -o ping -d 'Efficiently determine image attributes'
+complete -c convert -o pointsize -d 'Font point size [value]'
+complete -c convert -o precision -d 'Maximum number of significant digits to print [value]'
+complete -c convert -o preview -d 'Image preview type [type]' -xa '(convert -list preview)'
+complete -c convert -o quality -d 'JPEG/MIFF/PNG compression level [value]'
+complete -c convert -o quiet -d 'Suppress all warning messages'
+complete -c convert -o red-primary -d 'Chromaticity red primary point [point]'
+complete -c convert -o regard-warnings -d 'Pay attention to warning messages'
+complete -c convert -o remap -d 'Transform image colors to match this set of colors [filename]' -r
+complete -c convert -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
+complete -c convert -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c convert -o scene -d 'Image scene number [value]'
+complete -c convert -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c convert -o size -d 'Width and height of image [geometry]'
+complete -c convert -o stretch -d 'Render text with this font stretch [type]' -xa '(convert -list stretch)'
+complete -c convert -o stroke -d 'Graphic primitive stroke color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o strokewidth -d 'Graphic primitive stroke width [value]'
+complete -c convert -o style -d 'Render text with this font style [type]' -xa '(convert -list style)'
+complete -c convert -o synchronize -d 'Synchronize image to storage device'
+complete -c convert -o taint -d 'Declare the image as modified'
+complete -c convert -o texture -d 'Name of texture to tile onto the image background [filename]' -r
+complete -c convert -o tile-offset -d 'Tile offset [geometry]'
+complete -c convert -o treedepth -d 'Color tree depth [value]'
+complete -c convert -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o undercolor -d 'Annotation bounding box color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o units -d 'The units of image resolution [type]' -xa '(convert -list units)'
+complete -c convert -o verbose -d 'Print detailed information about the image'
+complete -c convert -o view -d 'FlashPix viewing transforms'
+complete -c convert -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(convert -list virtual-pixel)'
+complete -c convert -o weight -d 'Render text with this font weight [type]' -x
+complete -c convert -o white-point -d 'Chromaticity white point [point]'
+complete -c convert -o adaptive-blur -d 'Adaptively blur pixels; decrease effect near edges [geometry]'
+complete -c convert -o adaptive-resize -d 'Adaptively resize image using \'mesh\' interpolation [geometry]'
+complete -c convert -o adaptive-sharpen -d 'Adaptively sharpen pixels; increase effect near edges [geometry]'
+complete -c convert -o annotate -d 'Annotate the image with text [geometry text]'
+complete -c convert -o auto-gamma -d 'Automagically adjust gamma level of image'
+complete -c convert -o auto-level -d 'Automagically adjust color levels of image'
+complete -c convert -o auto-orient -d 'Automagically orient (rotate) image'
+complete -c convert -o bench -d 'Measure performance [iterations]'
+complete -c convert -o black-threshold -d 'Force all pixels below the threshold into black [value]'
+complete -c convert -o blue-shift -d 'Simulate a scene at nighttime in the moonlight [factor]'
+complete -c convert -o blur -d 'Reduce image noise and reduce detail levels [geometry]'
+complete -c convert -o border -d 'Surround image with a border of color [geometry]'
+complete -c convert -o brightness-contrast -d 'Improve brightness / contrast of the image [geometry]'
+complete -c convert -o cdl -d 'Color correct with a color decision list [filename]' -r
+complete -c convert -o charcoal -d 'Simulate a charcoal drawing [radius]'
+complete -c convert -o chop -d 'Remove pixels from the image interior [geometry]'
+complete -c convert -o clamp -d 'Restrict pixel range from 0 to the quantum depth'
+complete -c convert -o clip -d 'Clip along the first path from the 8BIM profile'
+complete -c convert -o clip-mask -d 'Associate a clip mask with the image [filename]' -r
+complete -c convert -o clip-path -d 'Clip along a named path from the 8BIM profile [id]'
+complete -c convert -o colorize -d 'Colorize the image with the fill color [value]'
+complete -c convert -o color-matrix -d 'Apply color correction to the image [matrix]'
+complete -c convert -o contrast -d 'Enhance or reduce the image contrast'
+complete -c convert -o contrast-stretch -d 'Improve contrast by `stretching\' the intensity range [geometry]'
+complete -c convert -o convolve -d 'Apply a convolution kernel to the image [coefficients]'
+complete -c convert -o cycle -d 'Cycle the image colormap [amount]'
+complete -c convert -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
+complete -c convert -o deskew -d 'Straighten an image [threshold]'
+complete -c convert -o despeckle -d 'Reduce the speckles within an image'
+complete -c convert -o distort -d 'Args distort images according to given method ad args [method]' -xa '(convert -list distort)'
+complete -c convert -o draw -d 'Annotate the image with a graphic primitive [string]'
+complete -c convert -o edge -d 'Apply a filter to detect edges in the image [radius]'
+complete -c convert -o encipher -d 'Convert plain pixels to cipher pixels [filename]' -r
+complete -c convert -o emboss -d 'Emboss an image [radius]'
+complete -c convert -o enhance -d 'Apply a digital filter to enhance a noisy image'
+complete -c convert -o equalize -d 'Perform histogram equalization to an image'
+complete -c convert -o evaluate -d 'Evaluate an arithmetic, relational, or logical expression [operator value]'
+complete -c convert -o extent -d 'Set the image size [geometry]'
+complete -c convert -o extract -d 'Extract area from image [geometry]'
+complete -c convert -o fft -d 'Implements the discrete Fourier transform (DFT)'
+complete -c convert -o flip -d 'Flip image vertically'
+complete -c convert -o floodfill -d 'Color floodfill the image with color [geometry]'
+complete -c convert -o flop -d 'Flop image horizontally'
+complete -c convert -o frame -d 'Surround image with an ornamental border [geometry]'
+complete -c convert -o function -d 'Apply function over image values [name parameters]' -xa '(convert -list function)'
+complete -c convert -o gamma -d 'Level of gamma correction [value]'
+complete -c convert -o gaussian-blur -d 'Reduce image noise and reduce detail levels [geometry]'
+complete -c convert -o geometry -d 'Preferred size or location of the image [geometry]'
+complete -c convert -o identify -d 'Identify the format and characteristics of the image'
+complete -c convert -o ift -d 'Implements the inverse discrete Fourier transform (DFT)'
+complete -c convert -o implode -d 'Implode image pixels about the center [amount]'
+complete -c convert -o lat -d 'Local adaptive thresholding [geometry]'
+complete -c convert -o layers -d 'Optimize, merge, or compare image layers [method]' -xa '(convert -list layers)'
+complete -c convert -o level -d 'Adjust the level of image contrast [value]'
+complete -c convert -o level-colors -d 'Level image with the given colors [color,color]' -xa '(__fish_complete_list , "__fish_complete_convert_options color")'
+complete -c convert -o linear-stretch -d 'Improve contrast by `stretching with saturation\' [geometry]'
+complete -c convert -o liquid-rescale -d 'Rescale image with seam-carving [geometry]'
+complete -c convert -o median -d 'Apply a median filter to the image [geometry]'
+complete -c convert -o mode -d 'Make each pixel the \'predominant color\' of the neighborhood [geometry]'
+complete -c convert -o modulate -d 'Vary the brightness, saturation, and hue [value]'
+complete -c convert -o monochrome -d 'Transform image to black and white'
+complete -c convert -o morphology -d 'Apply a morphology method to the image [method kernel]' -xa '(convert -list morphology)'
+complete -c convert -o motion-blur -d 'Simulate motion blur [geometry]'
+complete -c convert -o negate -d 'Replace every pixel with its complementary color '
+complete -c convert -o noise -d 'Add or reduce noise in an image [geometry]'
+complete -c convert -o normalize -d 'Transform image to span the full range of colors'
+complete -c convert -o opaque -d 'Change this color to the fill color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o ordered-dither -d 'Add a noise pattern to the image with specific amplitudes [NxN]'
+complete -c convert -o paint -d 'Simulate an oil painting [radius]'
+complete -c convert -o polaroid -d 'Simulate a Polaroid picture [angle]'
+complete -c convert -o posterize -d 'Reduce the image to a limited number of color levels [levels]'
+complete -c convert -o profile -d 'Add, delete, or apply an image profile [filename]' -r
+complete -c convert -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(convert -list colorspace)'
+complete -c convert -o radial-blur -d 'Radial blur the image [angle]'
+complete -c convert -o raise -d 'Lighten/darken image edges to create a 3-D effect [value]'
+complete -c convert -o random-threshold -d 'Random threshold the image [low,high]'
+complete -c convert -o region -d 'Apply options to a portion of the image [geometry]'
+complete -c convert -o render -d 'Render vector graphics'
+complete -c convert -o repage -d 'Size and location of an image canvas [geometry]'
+complete -c convert -o resample -d 'Change the resolution of an image [geometry]'
+complete -c convert -o resize -d 'Resize the image [geometry]'
+complete -c convert -o roll -d 'Roll an image vertically or horizontally [geometry]'
+complete -c convert -o rotate -d 'Apply Paeth rotation to the image [degrees]'
+complete -c convert -o sample -d 'Scale image with pixel sampling [geometry]'
+complete -c convert -o scale -d 'Scale the image [geometry]'
+complete -c convert -o segment -d 'Segment an image [values]'
+complete -c convert -o selective-blur -d 'Selectively blur pixels within a contrast threshold [geometry]'
+complete -c convert -o sepia-tone -d 'Simulate a sepia-toned photo [threshold]'
+complete -c convert -o set -d 'Set an image property [property value]'
+complete -c convert -o shade -d 'Shade the image using a distant light source [degrees]'
+complete -c convert -o shadow -d 'Simulate an image shadow [geometry]'
+complete -c convert -o sharpen -d 'Sharpen the image [geometry]'
+complete -c convert -o shave -d 'Shave pixels from the image edges [geometry]'
+complete -c convert -o shear -d 'Slide one edge of the image along the X or Y axis [geometry]'
+complete -c convert -o sigmoidal-contrast -d 'Increase the contrast without saturating highlights or shadows [geometry]'
+complete -c convert -o sketch -d 'Simulate a pencil sketch [geometry]'
+complete -c convert -o solarize -d 'Negate all pixels above the threshold level [threshold]'
+complete -c convert -o sparse-color -d 'Args fill in a image based on a few color points [method]' -xa '(convert -list sparse-color)'
+complete -c convert -o splice -d 'Splice the background color into the image [geometry]'
+complete -c convert -o spread -d 'Displace image pixels by a random amount [radius]'
+complete -c convert -o statistic -d 'Replace each pixel with corresponding statistic from the neighborhood [type geometry]' -xa '(convert -list statistic)'
+complete -c convert -o strip -d 'Strip image of all profiles and comments'
+complete -c convert -o swirl -d 'Swirl image pixels about the center [degrees]'
+complete -c convert -o threshold -d 'Threshold the image [value]'
+complete -c convert -o thumbnail -d 'Create a thumbnail of the image [geometry]'
+complete -c convert -o tile -d 'Tile image when filling a graphic primitive [filename]' -r
+complete -c convert -o tint -d 'Tint the image with the fill color [value]'
+complete -c convert -o transform -d 'Affine transform image'
+complete -c convert -o transparent -d 'Make this color transparent within the image [color]' -xa '(__fish_complete_convert_options color)'
+complete -c convert -o transpose -d 'Flip image vertically and rotate 90 degrees'
+complete -c convert -o transverse -d 'Flop image horizontally and rotate 270 degrees'
+complete -c convert -o trim -d 'Trim image edges'
+complete -c convert -o type -d 'Image type [type]' -xa '(convert -list type)'
+complete -c convert -o unique-colors -d 'Discard all but one of any pixel color'
+complete -c convert -o unsharp -d 'Sharpen the image [geometry]'
+complete -c convert -o vignette -d 'Soften the edges of the image in vignette style [geometry]'
+complete -c convert -o wave -d 'Alter an image along a sine wave [geometry]'
+complete -c convert -o white-threshold -d 'Force all pixels above the threshold into white [value]'
+complete -c convert -o append -d 'Append an image sequence'
+complete -c convert -o clut -d 'Apply a color lookup table to the image'
+complete -c convert -o coalesce -d 'Merge a sequence of images'
+complete -c convert -o combine -d 'Combine a sequence of images'
+complete -c convert -o composite -d 'Composite image '
+complete -c convert -o crop -d 'Cut out a rectangular region of the image [geometry]'
+complete -c convert -o deconstruct -d 'Break down an image sequence into constituent parts'
+complete -c convert -o evaluate-sequence -d 'Evaluate an arithmetic, relational, or logical expression [operator]'
+complete -c convert -o flatten -d 'Flatten a sequence of images'
+complete -c convert -o fx -d 'Apply mathematical expression to an image channel(s) [expression]'
+complete -c convert -o hald-clut -d 'Apply a Hald color lookup table to the image'
+complete -c convert -o morph -d 'Morph an image sequence [value]'
+complete -c convert -o mosaic -d 'Create a mosaic from an image sequence'
+complete -c convert -o print -d 'Interpret string and print to console [string]'
+complete -c convert -o process -d 'Process the image with a custom image filter [arguments]' -xa '(convert -list filter)'
+complete -c convert -o separate -d 'Separate an image channel into a grayscale image'
+complete -c convert -o smush -d 'Smush an image sequence together [geometry]'
+complete -c convert -o write -d 'Write images to this file [filename]' -r
+complete -c convert -o clone -d 'Clone an image [indexes]'
+complete -c convert -o delete -d 'Delete the image from the image sequence [indexes]'
+complete -c convert -o duplicate -d 'Duplicate an image one or more times [count,indexes]'
+complete -c convert -o insert -d 'Insert last image into the image sequence [index]'
+complete -c convert -o reverse -d 'Reverse image sequence'
+complete -c convert -o swap -d 'Swap two images in the image sequence [indexes]'
+complete -c convert -o debug -d 'Display copious debugging information [events]' -xa '(convert -list debug)'
+complete -c convert -o help -d 'Print program options'
+complete -c convert -o list -d 'Print a list of supported option arguments [type]' -xa '(convert -list list)'
+complete -c convert -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c convert -o version -d 'Print version information'
+complete -c convert -o matte -d 'Store matte channel if the image has one'
+complete -c convert -o origin -d 'Image origin [geometry]'
+complete -c convert -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
+complete -c convert -o affinity -d 'Transform image colors to match this set of colors [filename]' -r
diff --git a/share/completions/cupsaccept.fish b/share/completions/cupsaccept.fish
new file mode 100644
index 00000000..c66f6a77
--- /dev/null
+++ b/share/completions/cupsaccept.fish
@@ -0,0 +1,3 @@
+__fish_complete_lpr cupsaccept
+complete -c cupsaccept -s r -d 'Accept reason' -x
+
diff --git a/share/completions/cupsdisable.fish b/share/completions/cupsdisable.fish
new file mode 100644
index 00000000..2c044aed
--- /dev/null
+++ b/share/completions/cupsdisable.fish
@@ -0,0 +1,7 @@
+__fish_complete_lpr cupsdisable
+
+complete -c cupsdisable -s c -d 'Cancels all jobs on the named destination'
+complete -c cupsdisable -l hold -d 'Holds remaining jobs on the named printer'
+complete -c cupsdisable -l release -d 'Releases pending jobs for printing'
+complete -c cupsdisable -s r -d 'Disable reason' -x
+
diff --git a/share/completions/cupsenable.fish b/share/completions/cupsenable.fish
new file mode 100644
index 00000000..81051fc1
--- /dev/null
+++ b/share/completions/cupsenable.fish
@@ -0,0 +1,7 @@
+__fish_complete_lpr cupsenable
+
+complete -c cupsenable -s c -d 'Cancels all jobs on the named destination'
+complete -c cupsenable -l hold -d 'Holds remaining jobs on the named printer'
+complete -c cupsenable -l release -d 'Releases pending jobs for printing'
+complete -c cupsenable -s r -d 'Cancel reason' -x
+
diff --git a/share/completions/cupsreject.fish b/share/completions/cupsreject.fish
new file mode 100644
index 00000000..5f2d98df
--- /dev/null
+++ b/share/completions/cupsreject.fish
@@ -0,0 +1,3 @@
+__fish_complete_lpr cupsreject
+complete -c cupsreject -s r -d 'Reject reason' -x
+
diff --git a/share/completions/cut.fish b/share/completions/cut.fish
index 006c17e7..3c09fad7 100644
--- a/share/completions/cut.fish
+++ b/share/completions/cut.fish
@@ -1,3 +1,4 @@
+complete -c cut -x
complete -c cut -s b -l bytes -x --description "Output byte range"
complete -c cut -s c -l characters -x --description "Output character range"
complete -c cut -s d -l delimiter -x --description "Select field delimiter"
diff --git a/share/completions/diff.fish b/share/completions/diff.fish
index 88813b7b..c2d35c72 100644
--- a/share/completions/diff.fish
+++ b/share/completions/diff.fish
@@ -1,26 +1,2 @@
# Completions for diff
-complete -c diff -s i -l ignore-case --description "Ignore case differences"
-complete -c diff -l ignore-file-name-case --description "Ignore case when comparing file names"
-complete -c diff -l no-ignore-file-name-case --description "Consider case when comparing file names"
-complete -c diff -s E -l ignore-tab-expansion --description "Ignore changes due to tab expansion"
-complete -c diff -s b -l ignore-space-change --description "Ignore changes in the amount of white space"
-complete -c diff -s w -l ignore-all-space --description "Ignore all white space"
-complete -c diff -s B -l ignore-blank-lines --description "Ignore changes whose lines are all blank"
-complete -c diff -s I -l ignore-matching-lines -x --description "Ignore changes whose lines match the REGEX"
-complete -c diff -s a -l text --description "Treat all files as text"
-complete -c diff -s r -l recursive --description "Recursively compare subdirectories"
-complete -c diff -s N -l new-file --description "Treat absent files as empty"
-complete -c diff -s C -l context -x --description "Output NUM lines of copied context"
-complete -c diff -s c --description "Output 3 lines of copied context"
-complete -c diff -s U -l unified -x --description "Output NUM lines of unified context"
-complete -c diff -s u --description "Output 3 lines of unified context"
-complete -c diff -s q -l brief --description "Output only whether the files differ"
-complete -c diff -l normal --description "Output a normal diff"
-complete -c diff -s y -l side-by-side --description "Output in two columns"
-complete -c diff -s W -l width -x --description "Output at most NUM print columns"
-complete -c diff -s d -l minimal --description "Try to find a smaller set of changes"
-complete -c diff -l from-file -r --description "Compare FILE1 to all operands"
-complete -c diff -l to-file -r --description "Compare FILE2 to all operands"
-complete -c diff -s l -l paginate --description "Pass the output through 'pr'"
-complete -c diff -s v -l version --description "Display version and exit"
-complete -c diff -l help --description "Display help and exit"
+__fish_complete_diff diff
diff --git a/share/completions/display.fish b/share/completions/display.fish
new file mode 100644
index 00000000..b0750bd0
--- /dev/null
+++ b/share/completions/display.fish
@@ -0,0 +1,97 @@
+complete -c display -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(display -list alpha)'
+complete -c display -o antialias -d 'Remove pixel-aliasing '
+complete -c display -o authenticate -d 'Decipher image with this password [password]'
+complete -c display -o backdrop -d 'Display image centered on a backdrop'
+complete -c display -o channel -d 'Apply option to select image channels [type]' -xa '(display -list channel)'
+complete -c display -o colormap -d 'Shared or Private [type]' -x
+complete -c display -o colorspace -d 'Alternate image colorspace [type]' -xa '(display -list colorspace)'
+complete -c display -o comment -d 'Annotate image with comment [string]'
+complete -c display -o compress -d 'Type of pixel compression when writing the image [type]' -xa '(display -list compress)'
+complete -c display -o define -d 'Define one or more image format options [format:option]'
+complete -c display -o delay -d 'Display the next image after pausing [value]'
+complete -c display -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c display -o depth -d 'Image depth [value]'
+complete -c display -o display -d 'Display image to this X server [server]'
+complete -c display -o dispose -d 'Layer disposal method [method]' -xa '(display -list dispose)'
+complete -c display -o dither -d 'Apply error diffusion to image [method]' -xa '(display -list dither)'
+complete -c display -o endian -d 'Endianness (MSB or LSB) of the image [type]' -xa '(display -list endian)'
+complete -c display -o filter -d 'Use this filter when resizing an image [type]' -xa '(display -list filter)'
+complete -c display -o format -d 'Output formatted image characteristics [string]'
+complete -c display -o geometry -d 'Preferred size and location of the Image window [geometry]'
+complete -c display -o gravity -d 'Horizontal and vertical backdrop placement [type]' -xa '(display -list gravity)'
+complete -c display -o identify -d 'Identify the format and characteristics of the image'
+complete -c display -o immutable -d 'Displayed image cannot be modified'
+complete -c display -o interlace -d 'Type of image interlacing scheme [type]' -xa '(display -list interlace)'
+complete -c display -o interpolate -d 'Pixel color interpolation method [method]' -xa '(display -list interpolate)'
+complete -c display -o label -d 'Assign a label to an image [string]'
+complete -c display -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c display -o loop -d 'Loop images then exit [iterations]'
+complete -c display -o map -d 'Display image using this Standard Colormap [type]' -x
+complete -c display -o monitor -d 'Monitor progress '
+complete -c display -o page -d 'Size and location of an image canvas [geometry]'
+complete -c display -o profile -d 'Add, delete, or apply an image profile [filename]' -r
+complete -c display -o quality -d 'JPEG/MIFF/PNG compression level [value]'
+complete -c display -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(display -list colorspace)'
+complete -c display -o quiet -d 'Suppress all warning messages'
+complete -c display -o regard-warnings -d 'Pay attention to warning messages'
+complete -c display -o remote -d 'Command execute a command in an remote display process'
+complete -c display -o repage -d 'Size and location of an image canvas (operator) [geometry]'
+complete -c display -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
+complete -c display -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c display -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c display -o set -d 'Set an image property [property value]'
+complete -c display -o size -d 'Width and height of image [geometry]'
+complete -c display -o texture -d 'Name of texture to tile onto the image background [filename]' -r
+complete -c display -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c display -o treedepth -d 'Color tree depth [value]'
+complete -c display -o update -d 'Seconds detect when image file is modified and redisplay'
+complete -c display -o verbose -d 'Print detailed information about the image'
+complete -c display -o visual -d 'Display image using this visual type [type]' -x
+complete -c display -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(display -list virtual-pixel)'
+complete -c display -o window -d 'Display image to background of this window [id]' -xa 'root (__fish_print_xwindows)'
+complete -c display -o window-group -d 'Exit program when this window id is destroyed [id]'
+complete -c display -o write -d 'Write image to a file [filename]' -r
+complete -c display -o auto-orient -d 'Automagically orient image'
+complete -c display -o border -d 'Surround image with a border of color [geometry]'
+complete -c display -o clip -d 'Clip along the first path from the 8BIM profile'
+complete -c display -o clip-path -d 'Clip along a named path from the 8BIM profile [id]'
+complete -c display -o colors -d 'Preferred number of colors in the image [value]'
+complete -c display -o contrast -d 'Enhance or reduce the image contrast'
+complete -c display -o crop -d 'Preferred size and location of the cropped image [geometry]'
+complete -c display -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
+complete -c display -o deskew -d 'Straighten an image [threshold]'
+complete -c display -o despeckle -d 'Reduce the speckles within an image'
+complete -c display -o edge -d 'Apply a filter to detect edges in the image [factor]'
+complete -c display -o enhance -d 'Apply a digital filter to enhance a noisy image'
+complete -c display -o equalize -d 'Perform histogram equalization to an image'
+complete -c display -o extract -d 'Extract area from image [geometry]'
+complete -c display -o flip -d 'Flip image in the vertical direction'
+complete -c display -o flop -d 'Flop image in the horizontal direction'
+complete -c display -o frame -d 'Surround image with an ornamental border [geometry]'
+complete -c display -o fuzz -d 'Colors within this distance are considered equal [distance]'
+complete -c display -o gamma -d 'Level of gamma correction [value]'
+complete -c display -o monochrome -d 'Transform image to black and white'
+complete -c display -o negate -d 'Replace every pixel with its complementary color'
+complete -c display -o normalize -d 'Transform image to span the full range of colors'
+complete -c display -o raise -d 'Lighten/darken image edges to create a 3-D effect [value]'
+complete -c display -o resample -d 'Change the resolution of an image [geometry]'
+complete -c display -o resize -d 'Resize the image [geometry]'
+complete -c display -o roll -d 'Roll an image vertically or horizontally [geometry]'
+complete -c display -o rotate -d 'Apply Paeth rotation to the image [degrees]'
+complete -c display -o sample -d 'Scale image with pixel sampling [geometry]'
+complete -c display -o segment -d 'Segment an image [value]'
+complete -c display -o sharpen -d 'Sharpen the image [geometry]'
+complete -c display -o strip -d 'Strip image of all profiles and comments'
+complete -c display -o threshold -d 'Threshold the image [value]'
+complete -c display -o thumbnail -d 'Create a thumbnail of the image [geometry]'
+complete -c display -o trim -d 'Trim image edges'
+complete -c display -o coalesce -d 'Merge a sequence of images'
+complete -c display -o flatten -d 'Flatten a sequence of images'
+complete -c display -o debug -d 'Display copious debugging information [events]' -xa '(display -list debug)'
+complete -c display -o help -d 'Print program options'
+complete -c display -o list -d 'Print a list of supported option arguments [type]' -xa '(display -list list)'
+complete -c display -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c display -o version -d 'Print version information'
+complete -c display -o matte -d 'Store matte channel if the image has one'
+complete -c display -o scenes -d 'Range image scene range'
+complete -c display -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
diff --git a/share/completions/echo.fish b/share/completions/echo.fish
index c61df7a7..b096271a 100644
--- a/share/completions/echo.fish
+++ b/share/completions/echo.fish
@@ -1,3 +1,3 @@
complete -c echo -s n --description "Do not output a newline"
-complete -c echo -s n --description "Do not separate arguments with spaces"
+complete -c echo -s s --description "Do not separate arguments with spaces"
complete -c echo -u
diff --git a/share/completions/expand.fish b/share/completions/expand.fish
new file mode 100644
index 00000000..93cd7eae
--- /dev/null
+++ b/share/completions/expand.fish
@@ -0,0 +1,5 @@
+complete -c expand -s i -l initial -d 'do not convert tabs after non blanks'
+complete -c expand -s t -l tabs -x -d 'have tabs NUMBER characters apart, not 8'
+complete -c expand -s t -l tabs -x -d 'use comma separated list of explicit tab positions'
+complete -c expand -l help -d 'display this help and exit'
+complete -c expand -l version -d 'output version information and exit'
diff --git a/share/completions/find.fish b/share/completions/find.fish
index 87bdedac..63f9d874 100644
--- a/share/completions/find.fish
+++ b/share/completions/find.fish
@@ -65,7 +65,7 @@ complete -c find -o path -o wholename --description "File path matches pattern"
complete -c find -o perm --description "Files has specified permissions set" -r
-complete -c find -o iregex --description "File name matches regex" -r
+complete -c find -o regex --description "File name matches regex" -r
complete -c find -o samefile --description "File refers to the same inode as specified file" -r
complete -c find -o size --description "File uses specified units of space" -r
diff --git a/share/completions/flac.fish b/share/completions/flac.fish
index 40cd2a47..2754a1f2 100644
--- a/share/completions/flac.fish
+++ b/share/completions/flac.fish
@@ -28,6 +28,7 @@ complete -c flac -l sector-align -d "Align multiple files on sector bou
complete -c flac -l replay-gain -d "Calculate ReplayGain & store in Vorbis comments"
complete -c flac -l cuesheet= -d "Import cuesheet and store in CUESHEET block"
complete -c flac -x -s T -l tag= -d "Add a Vorbis comment FIELD=VALUE; may appear multiple times"
+complete -c flac -x -s T -l tag-from-file= -d "Read tags from file"
complete -c flac -x -s S -l seekpoint= -d "Add seek point(s) {#|X|#x|#s}"
complete -c flac -x -s P -l padding= -d "Write a PADDING block of length #"
complete -c flac -s 0 -l compression-level-0 -d "Synonymous with -l 0 -b 1152 -r 22"
diff --git a/share/completions/fluxbox-remote.fish b/share/completions/fluxbox-remote.fish
new file mode 100644
index 00000000..ffa270d5
--- /dev/null
+++ b/share/completions/fluxbox-remote.fish
@@ -0,0 +1 @@
+complete -c fluxbox-remote -xa '(fluxbox -list-commands)'
diff --git a/share/completions/function.fish b/share/completions/function.fish
index e4fe0daf..bfa811e8 100644
--- a/share/completions/function.fish
+++ b/share/completions/function.fish
@@ -5,7 +5,6 @@ complete -c function -s j -l on-job-exit --description "Make the function a job
complete -c function -s p -l on-process-exit --description "Make the function a process exit event handler" -x
complete -c function -s s -l on-signal --description "Make the function a signal event handler" -x
complete -c function -s v -l on-variable --description "Make the function a variable update event handler" -x
-complete -c function -s e -l on-event --description "Make the function a generic event handler" -x
-complete -c function -s b -l key-binding --description "Allow dash (-) in function name"
+complete -c function -s e -l on-event --description "Make the function a generic event handler" -xa 'fish_prompt fish_command_not_found'
complete -c function -s a -l argument-names --description "Specify named arguments"
complete -c function -s S -l no-scope-shadowing --description "Do not shadow variable scope of calling function"
diff --git a/share/completions/fuser.fish b/share/completions/fuser.fish
new file mode 100644
index 00000000..d491d35d
--- /dev/null
+++ b/share/completions/fuser.fish
@@ -0,0 +1,23 @@
+__fish_make_completion_signals
+for i in $__kill_signals
+ set number (echo $i | cut -d " " -f 1)
+ set name (echo $i | cut -d " " -f 2)
+ complete -c fuser -o $number -d $name
+ complete -c fuser -o $name -d $name
+end
+
+complete -c fuser -s a -l all -d 'Show all files specified on the command line'
+complete -c fuser -s k -l kill -d 'Kill processes, accessing the file'
+complete -c fuser -s i -d 'Ask the user for confirmation before killing a process'
+complete -c fuser -s l -l list-signals -d 'List all known signal names'
+complete -c fuser -s m -l mount -d 'All processes accessing files on that file system are listed' -xa '(__fish_print_mounted)'
+complete -c fuser -s M -l ismountpoint -d 'Request will be fullfilled if -m specifies a mountpoint'
+complete -c fuser -s w -d 'Kill only processes which have write access'
+complete -c fuser -s n -l namespace -d 'Slect a different namespace' -r
+complete -c fuser -s s -l silent -d 'Silent operation'
+complete -c fuser -s u -l user -d 'Append the user name of the process owner to each PID'
+complete -c fuser -s v -l verbose -d 'Verbose mode'
+complete -c fuser -s V -d 'Print version and exit'
+complete -c fuser -s 4 -l ipv4 -d 'Search only for IPv4 sockets'
+complete -c fuser -s 6 -l ip64 -d 'Search only for IPv6 sockets'
+
diff --git a/share/completions/gpasswd.fish b/share/completions/gpasswd.fish
new file mode 100644
index 00000000..bd5a5162
--- /dev/null
+++ b/share/completions/gpasswd.fish
@@ -0,0 +1,10 @@
+
+complete -c gpasswd -xa '(__fish_complete_groups)'
+complete -c gpasswd -s a -l add -d 'Add user to group' -xa '(__fish_complete_users)'
+complete -c gpasswd -s d -l delete -d 'Remove user from group' -xa '(__fish_complete_users)'
+complete -c gpasswd -s h -l help -d 'Print help'
+complete -c gpasswd -s r -l remove-password -d 'Remove the GROUP\'s password'
+complete -c gpasswd -s R -l restrict -d 'Restrict access to GROUP to its members'
+complete -c gpasswd -s M -l members -d 'Set the list of members of GROUP' -xa '(__fish_complete_list , __fish_complete_users)'
+complete -c gpasswd -s A -l administrators -d 'set the list of administrators for GROUP' -xa '(__fish_complete_list , __fish_complete_users)'
+
diff --git a/share/completions/gv.fish b/share/completions/gv.fish
index 6b20e380..4f662aba 100644
--- a/share/completions/gv.fish
+++ b/share/completions/gv.fish
@@ -1,4 +1,50 @@
-complete -c gv -x -a "(__fish_complete_suffix .ps)"
-complete -c gv -x -a "(__fish_complete_suffix .ps.gz)"
-complete -c gv -x -a "(__fish_complete_suffix .eps)"
-complete -c gv -x -a "(__fish_complete_suffix .pdf)"
+complete -c gv -xa "(__fish_complete_suffix .ps)"
+complete -c gv -xa "(__fish_complete_suffix .ps.gz)"
+complete -c gv -xa "(__fish_complete_suffix .eps)"
+complete -c gv -xa "(__fish_complete_suffix .pdf)"
+complete -c gv -l monochrome -d 'Display document using only black and white'
+complete -c gv -l grayscale -d 'Display document without colors'
+complete -c gv -l color -d 'Display document as usual'
+complete -c gv -l safer -d 'Start ghostscript in safe mode'
+complete -c gv -l nosafer -d 'Do not start ghostscript in safe mode'
+complete -c gv -l safedir -d 'Start ghostscript from a safe diretory'
+complete -c gv -l nosafedir -d 'Do not start ghostscript from a safe diretory'
+complete -c gv -l quiet -d 'Start ghostscript with the -dQUIET option'
+complete -c gv -l noquiet -d 'Do not start ghostscript with the -dQUIET option'
+complete -c gv -l infoSilent -d 'Do not show any messages in the info popup window'
+complete -c gv -l infoErrors -d 'Do not show warning messages in the info popup window'
+complete -c gv -l infoAll -d 'Do show all messages in the info popup window'
+complete -c gv -l arguments -d 'Start ghostscript with additional options as specified by the string ARGS' -x
+complete -c gv -l page -d 'Display the page with label LABEL first' -x
+complete -c gv -l center -d 'The page should be centered automatically'
+complete -c gv -l nocenter -d 'The page should not be centered automatically'
+complete -c gv -l media -d 'Selects the paper size to be used'
+complete -c gv -l orientation -d 'Sets the orientation of the page' -xa 'automatic bbox letter legal statement tabloid ledger folio quatro 10x14 executive a3 a4 a5 b4 b5'
+complete -c gv -l scale -d 'Selects the scale N, or arbitrary scale f.f' -x
+complete -c gv -l scalebase -d 'Selects the scale base N' -x
+complete -c gv -l swap -d 'Interchange the meaning of the orientations landscape and seascape'
+complete -c gv -l noswap -d 'Do not interchange the meaning of the orientation landscape and seascape'
+complete -c gv -l antialias -d 'Use antialiasing'
+complete -c gv -l noantialias -d 'Do not use antialiasing'
+complete -c gv -l dsc -d 'Dsc comments are respected'
+complete -c gv -l nodsc -d 'Dsc comments are not respected'
+complete -c gv -l eof -d 'Ignore the postscript EOF comment while scanning documents'
+complete -c gv -l noeof -d 'Do not ignore the postscript EOF comment while scanning documents'
+complete -c gv -l pixmap -d 'Use backing pixmap'
+complete -c gv -l nopixmap -d 'Do not use backing pixmap'
+complete -c gv -l watch -d 'Watch the document file for changes'
+complete -c gv -l nowatch -d 'Do not watch the document file for changes'
+complete -c gv -l help -d 'Print a help message and exit'
+complete -c gv -l usage -d 'Print a usage message and exit'
+complete -c gv -l resize -d 'Fit the size of the window to the size of the page'
+complete -c gv -l noresize -d 'Do not fit the size of the window to the size of the page'
+complete -c gv -o geometry -d 'Set geometry'
+complete -c gv -l ad -d 'Read and use additional resources from FILE (higher priority)' -r
+complete -c gv -l style -d 'Read and use additional resources from FILE (lower priority)' -r
+complete -c gv -l password -d 'Sets the password for opening encrypted PDF files' -x
+complete -c gv -l spartan -d 'Shortcut for --style=gv_spartan.dat'
+complete -c gv -l widgetless -d 'Shortcut for --style=gv_widgetless.dat'
+complete -c gv -l fullscreen -d 'Start in fullscreen mode (needs support from WM)'
+complete -c gv -l presentation -d 'Presentation mode '
+complete -c gv -l version -d 'Show gv version and exit'
+
diff --git a/share/completions/gvim.fish b/share/completions/gvim.fish
new file mode 100644
index 00000000..3fddde14
--- /dev/null
+++ b/share/completions/gvim.fish
@@ -0,0 +1,2 @@
+__fish_complete_vi gvim
+
diff --git a/share/completions/gvimdiff.fish b/share/completions/gvimdiff.fish
new file mode 100644
index 00000000..b998cc9c
--- /dev/null
+++ b/share/completions/gvimdiff.fish
@@ -0,0 +1,3 @@
+# completion for gvimdiff
+
+__fish_complete_vi gvimdiff
diff --git a/share/completions/highlight.fish b/share/completions/highlight.fish
new file mode 100644
index 00000000..5c788cc4
--- /dev/null
+++ b/share/completions/highlight.fish
@@ -0,0 +1,8 @@
+
+complete -c highlight -s O -l out-format -d 'Output file in given format' -xa 'xterm256 latex tex rtf html xhtml ansi bbcode svg'
+complete -c highlight -s t -l tab -d 'Specify tab length' -x
+complete -c highlight -s i -l input -d 'Name of the input file' -r
+complete -c highlight -s o -l output -d 'Name of the output file' -r
+complete -c highlight -s d -l outdir -d 'Output directory' -r
+complete -c highlight -s S -l syntax -d 'Set type of the source code' -xa "(highlight -p | sed -r 's/^(.*\S)\s+:\s*(\S+).*\$/\2\t\1/; /^\$/d')"
+complete -c highlight -s s -l style -d 'Highlight style' -xa "(highlight --list-themes | sed '/^\$\| /d')"
diff --git a/share/completions/identify.fish b/share/completions/identify.fish
new file mode 100644
index 00000000..0d56fe3d
--- /dev/null
+++ b/share/completions/identify.fish
@@ -0,0 +1,33 @@
+complete -c identify -o antialias -d 'Remove pixel-aliasing '
+complete -c identify -o authenticate -d 'Decrypt image with this password [value]'
+complete -c identify -o channel -d 'Apply option to select image channels [type]' -xa '(identify -list channel)'
+complete -c identify -o crop -d 'Cut out a rectangular region of the image [geometry]'
+complete -c identify -o define -d 'Define one or more image format options [format:option]'
+complete -c identify -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c identify -o depth -d 'Image depth [value]'
+complete -c identify -o extract -d 'Extract area from image [geometry]'
+complete -c identify -o features -d 'Display image features (e.g. contrast, correlation) [distance]'
+complete -c identify -o format -d 'Output formatted image characteristics ["string"]'
+complete -c identify -o fuzz -d 'Colors within this distance are considered equal [distance]'
+complete -c identify -o interlace -d 'Type of image interlacing scheme [type]' -xa '(identify -list interlace)'
+complete -c identify -o interpolate -d 'Pixel color interpolation method [method]' -xa '(identify -list interpolate)'
+complete -c identify -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c identify -o list -d 'Color, Configure, Delegate, Format, Magic, Module, Resource, or Type [type]' -xa '(identify -list list)'
+complete -c identify -o matte -d 'Store matte channel if the image has one'
+complete -c identify -o monitor -d 'Monitor progress '
+complete -c identify -o ping -d 'Efficiently determine image attributes'
+complete -c identify -o quiet -d 'Suppress all warning messages'
+complete -c identify -o regard-warnings -d 'Pay attention to warning messages'
+complete -c identify -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c identify -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c identify -o set -d 'Attribute set an image attribute [ value]'
+complete -c identify -o size -d 'Width and height of image [geometry]'
+complete -c identify -o strip -d 'Strip image of all profiles and comments'
+complete -c identify -o unique -d 'Display the number of unique colors in the image'
+complete -c identify -o units -d 'The units of image resolution [type]' -xa '(identify -list units)'
+complete -c identify -o verbose -d 'Print detailed information about the image'
+complete -c identify -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(identify -list virtual-pixel)'
+complete -c identify -o negate -d 'Replace each pixel with its complementary color'
+complete -c identify -o debug -d 'Display copious debugging information [events]' -xa '(identify -list debug)'
+complete -c identify -o help -d 'Print program options'
+complete -c identify -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
diff --git a/share/completions/ifdata.fish b/share/completions/ifdata.fish
new file mode 100644
index 00000000..a1aa6295
--- /dev/null
+++ b/share/completions/ifdata.fish
@@ -0,0 +1,31 @@
+complete -c ifdata -xa '(__fish_print_interfaces)'
+complete -c ifdata -o e -d 'Reports interface existence via return code'
+complete -c ifdata -o p -d 'Print out the whole config of iface'
+complete -c ifdata -o pe -d 'Print out yes or no according to existence'
+complete -c ifdata -o pa -d 'Print out the address'
+complete -c ifdata -o pn -d 'Print netmask'
+complete -c ifdata -o pN -d 'Print network address'
+complete -c ifdata -o pb -d 'Print broadcast'
+complete -c ifdata -o pm -d 'Print mtu'
+complete -c ifdata -o ph -d 'Print out the hardware address'
+complete -c ifdata -o pf -d 'Print flags'
+complete -c ifdata -o si -d 'Print all statistics on input'
+complete -c ifdata -o sip -d 'Print # of in packets'
+complete -c ifdata -o sib -d 'Print # of in bytes'
+complete -c ifdata -o sie -d 'Print # of in errors'
+complete -c ifdata -o sid -d 'Print # of in drops'
+complete -c ifdata -o sif -d 'Print # of in fifo overruns'
+complete -c ifdata -o sic -d 'Print # of in compress'
+complete -c ifdata -o sim -d 'Print # of in multicast'
+complete -c ifdata -o so -d 'Print all statistics on output'
+complete -c ifdata -o sop -d 'Print # of out packets'
+complete -c ifdata -o sob -d 'Print # of out bytes'
+complete -c ifdata -o soe -d 'Print # of out errors'
+complete -c ifdata -o sod -d 'Print # of out drops'
+complete -c ifdata -o sof -d 'Print # of out fifo overruns'
+complete -c ifdata -o sox -d 'Print # of out collisions'
+complete -c ifdata -o soc -d 'Print # of out carrier loss'
+complete -c ifdata -o som -d 'Print # of out multicast'
+complete -c ifdata -o bips -d 'Print # of incoming bytes per second'
+complete -c ifdata -o bops -d 'Print # of outgoing bytes per second'
+
diff --git a/share/completions/import.fish b/share/completions/import.fish
new file mode 100644
index 00000000..85fa2f14
--- /dev/null
+++ b/share/completions/import.fish
@@ -0,0 +1,69 @@
+complete -c import -o adjoin -d 'Join images into a single multi-image file'
+complete -c import -o border -d 'Include window border in the output image'
+complete -c import -o channel -d 'Apply option to select image channels [type]' -xa '(import -list channel)'
+complete -c import -o colorspace -d 'Alternate image colorspace [type]' -xa '(import -list colorspace)'
+complete -c import -o comment -d 'Annotate image with comment [string]'
+complete -c import -o compress -d 'Type of pixel compression when writing the image [type]' -xa '(import -list compress)'
+complete -c import -o define -d 'Define one or more image format options [format:option]'
+complete -c import -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c import -o depth -d 'Image depth [value]'
+complete -c import -o descend -d 'Obtain image by descending window hierarchy'
+complete -c import -o display -d 'X server to contact [server]'
+complete -c import -o dispose -d 'Layer disposal method [method]' -xa '(import -list dispose)'
+complete -c import -o dither -d 'Apply error diffusion to image [method]' -xa '(import -list dither)'
+complete -c import -o delay -d 'Display the next image after pausing [value]'
+complete -c import -o encipher -d 'Convert plain pixels to cipher pixels [filename]' -r
+complete -c import -o endian -d 'Endianness (MSB or LSB) of the image [type]' -xa '(import -list endian)'
+complete -c import -o encoding -d 'Encoding type [type text]' -xa '(__fish_print_encodings)'
+complete -c import -o filter -d 'Use this filter when resizing an image [type]' -xa '(import -list filter)'
+complete -c import -o format -d 'Output formatted image characteristics ["string"]'
+complete -c import -o frame -d 'Include window manager frame'
+complete -c import -o gravity -d 'Direction which direction to gravitate towards'
+complete -c import -o identify -d 'Identify the format and characteristics of the image'
+complete -c import -o interlace -d 'None, Line, Plane, or Partition [type]' -xa '(import -list interlace)'
+complete -c import -o interpolate -d 'Pixel color interpolation method [method]' -xa '(import -list interpolate)'
+complete -c import -o label -d 'Assign a label to an image [string]'
+complete -c import -o limit -d 'Area, Disk, Map, or Memory resource limit [type value]' -x
+complete -c import -o monitor -d 'Monitor progress '
+complete -c import -o page -d 'Size and location of an image canvas [geometry]'
+complete -c import -o pause -d 'Seconds delay between snapshots [value]'
+complete -c import -o pointsize -d 'Font point size [value]'
+complete -c import -o quality -d 'JPEG/MIFF/PNG compression level [value]'
+complete -c import -o quiet -d 'Suppress all warning messages'
+complete -c import -o regard-warnings -d 'Pay attention to warning messages'
+complete -c import -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
+complete -c import -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c import -o scene -d 'Image scene number [value]'
+complete -c import -o screen -d 'Select image from root window'
+complete -c import -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c import -o set -d 'Set an image property [property value]'
+complete -c import -o silent -d 'Operate silently, i.e. don\'t ring any bells '
+complete -c import -o snaps -d 'Number of screen snapshots [value]'
+complete -c import -o synchronize -d 'Synchronize image to storage device'
+complete -c import -o taint -d 'Declare the image as modified'
+complete -c import -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c import -o treedepth -d 'Color tree depth [value]'
+complete -c import -o verbose -d 'Print detailed information about the image'
+complete -c import -o virtual-pixel -d 'Constant, Edge, Mirror, or Tile [method]' -xa '(import -list virtual-pixel)'
+complete -c import -o window -d 'Select window with this id or name [id]' -xa 'root (__fish_print_xwindows)'
+complete -c import -o annotate -d 'Annotate the image with text [geometry text]'
+complete -c import -o colors -d 'Preferred number of colors in the image [value]'
+complete -c import -o crop -d 'Preferred size and location of the cropped image [geometry]'
+complete -c import -o geometry -d 'Preferred size or location of the image [geometry]'
+complete -c import -o help -d 'Print program options'
+complete -c import -o monochrome -d 'Transform image to black and white'
+complete -c import -o negate -d 'Replace every pixel with its complementary color '
+complete -c import -o repage -d 'Size and location of an image canvas [geometry]'
+complete -c import -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(import -list colorspace)'
+complete -c import -o resize -d 'Resize the image [geometry]'
+complete -c import -o rotate -d 'Apply Paeth rotation to the image [degrees]'
+complete -c import -o strip -d 'Strip image of all profiles and comments'
+complete -c import -o thumbnail -d 'Create a thumbnail of the image [geometry]'
+complete -c import -o transparent -d 'Make this color transparent within the image [color]' -xa '(__fish_complete_convert_options color)'
+complete -c import -o trim -d 'Trim image edges'
+complete -c import -o type -d 'Image type [type]' -xa '(import -list type)'
+complete -c import -o debug -d 'Display copious debugging information [events]' -xa '(import -list debug)'
+complete -c import -o list -d 'Print a list of supported option arguments [type]' -xa '(import -list list)'
+complete -c import -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c import -o version -d 'Print version information'
+complete -c import -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
diff --git a/share/completions/latexmk.fish b/share/completions/latexmk.fish
index e5a244ac..6b2c33e1 100644
--- a/share/completions/latexmk.fish
+++ b/share/completions/latexmk.fish
@@ -1,7 +1,72 @@
complete -c latexmk -x -a "(__fish_complete_suffix (commandline -ct) .tex '(La)TeX file')"
-complete -c latexmk -o dvi -d "Make dvi"
-complete -c latexmk -o ps -d "Make ps dvi->ps"
-complete -c latexmk -o pdf -d "Make pdf"
-complete -c latexmk -o pdfps -d "Make pdf dvi->ps->pdf"
-complete -c latexmk -o pdfdvi -d "Make pdf dvi->pdf"
+complete -c latexmk -o bibtex -d 'use bibtex when needed (default)'
+complete -c latexmk -o bibtex- -d 'never use bibtex'
+complete -c latexmk -o bibtex-cond -d 'use bibtex when needed, but only if the bib files exist'
+complete -c latexmk -o bm -x -d 'Print message across the page when converting to postscript'
+complete -c latexmk -o bi -x -d 'Set contrast or intensity of banner'
+complete -c latexmk -o bs -x -d 'Set scale for banner'
+complete -c latexmk -o commands -d 'list commands used by latexmk for processing files'
+complete -c latexmk -o c -d 'clean up (remove) all nonessential files, except dvi, ps and pdf files'
+complete -c latexmk -o C -o CA -d 'clean up (remove) all nonessential files'
+complete -c latexmk -o CF -d 'Remove file of database of file information before doing other actions'
+complete -c latexmk -o cd -d 'Change to directory of source file when processing it'
+complete -c latexmk -o cd- -d 'Do NOT change to directory of source file when processing it'
+complete -c latexmk -o dependents -o -deps -d 'Show list of dependent files after processing'
+complete -c latexmk -o dependents- -o -deps- -d 'Do not show list of dependent files'
+complete -c latexmk -o deps-out= -r -d 'Set name of output file for dependency list, and turn on showing of dependency list'
+complete -c latexmk -o dF -x -d 'Filter to apply to dvi file'
+complete -c latexmk -o dvi -d 'generate dvi'
+complete -c latexmk -o dvi- -d 'turn off required dvi'
+complete -c latexmk -o e -x -d 'Execute specified Perl code (as part of latexmk start-up code)'
+complete -c latexmk -o f -d 'force continued processing past errors'
+complete -c latexmk -o f- -d 'turn off forced continuing processing past errors'
+complete -c latexmk -o gg -d 'Super go mode: clean out generated files before processing'
+complete -c latexmk -o g -d 'process regardless of file timestamps'
+complete -c latexmk -o g- -d 'Turn off -g'
+complete -c latexmk -o h -o help -d 'print help'
+complete -c latexmk -o jobname= -x -d 'set basename of output file(s) to STRING'
+complete -c latexmk -o l -d 'force landscape mode'
+complete -c latexmk -o l- -d 'turn off -l'
+complete -c latexmk -o latex= -d 'set program used for latex' -xa '(__fish_complete_command)'
+complete -c latexmk -o new-viewer -d 'in -pvc mode, always start a new viewer'
+complete -c latexmk -o new-viewer- -d 'in -pvc mode, start a new viewer only if needed'
+complete -c latexmk -o nobibtex -d 'never use bibtex'
+complete -c latexmk -o nodependents -d 'Do not show list of dependent files after processing'
+complete -c latexmk -o norc -d 'omit automatic reading of system, user and project rc files'
+complete -c latexmk -o output-directory= -o outdir= -d 'set name of directory for output files' -xa '(__fish_complete_directories)'
+complete -c latexmk -o pdf -d 'generate pdf by pdflatex'
+complete -c latexmk -o pdfdvi -d 'generate pdf by dvipdf'
+complete -c latexmk -o pdflatex= -d 'set program used for pdflatex' -xa '(__fish_complete_command)'
+complete -c latexmk -o pdfps -d 'generate pdf by ps2pdf'
+complete -c latexmk -o pdf- -d 'turn off pdf'
+complete -c latexmk -o ps -d 'generate postscript'
+complete -c latexmk -o ps- -d 'turn off postscript'
+complete -c latexmk -o pF -x -d 'Filter to apply to postscript file'
+complete -c latexmk -o p -d 'print document after generating postscript'
+complete -c latexmk -o print=dvi -d 'when file is to be printed, print the dvi file'
+complete -c latexmk -o print=ps -d 'when file is to be printed, print the ps file (default)'
+complete -c latexmk -o print=pdf -d 'when file is to be printed, print the pdf file'
+complete -c latexmk -o pv -d 'preview document'
+complete -c latexmk -o pv- -d 'turn off preview mode'
+complete -c latexmk -o pvc -d 'preview document and continuously update'
+complete -c latexmk -o pvc- -d 'turn off -pvc'
+complete -c latexmk -o quiet -d 'silence progress messages from called programs'
+complete -c latexmk -o r -r -d 'Read custom RC file'
+complete -c latexmk -o recorder -d 'Use -recorder option for (pdf)latex'
+complete -c latexmk -o recorder- -d 'Do not use -recorder option for (pdf)latex'
+complete -c latexmk -o rules -d 'Show list of rules after processing'
+complete -c latexmk -o rules- -d 'Do not show list of rules after processing'
+complete -c latexmk -o silent -d 'silence progress messages from called programs'
+complete -c latexmk -o time -d 'show CPU time used'
+complete -c latexmk -o time- -d 'don\'t show CPU time used'
+complete -c latexmk -o use-make -d 'use the make program to try to make missing files'
+complete -c latexmk -o use-make- -d 'don\'t use the make program to try to make missing files'
+complete -c latexmk -o v -d 'display program version'
+complete -c latexmk -o verbose -d 'display usual progress messages from called programs'
+complete -c latexmk -o version -d 'display program version'
+complete -c latexmk -o view=default -d 'viewer is default (dvi, ps, pdf)'
+complete -c latexmk -o view=dvi -d 'viewer is for dvi'
+complete -c latexmk -o view=none -d 'no viewer is used'
+complete -c latexmk -o view=ps -d 'viewer is for ps'
+complete -c latexmk -o view=pdf -d 'viewer is for pdf'
diff --git a/share/completions/lp.fish b/share/completions/lp.fish
new file mode 100644
index 00000000..5e026919
--- /dev/null
+++ b/share/completions/lp.fish
@@ -0,0 +1,12 @@
+__fish_complete_lpr lp
+complete -c lpr -xa "(__fish_complete_suffix .pdf)"
+complete -c lpr -xa "(__fish_complete_suffix .ps)"
+complete -c lp -s d -d 'Prints files to the named printer' -xa '(__fish_print_lpr_printers)'
+complete -c lp -s i -d 'Specifies an existing job to modify' -x
+complete -c lp -s n -d 'Sets the number of copies to print from 1 to 100' -x
+complete -c lp -s q -d 'Sets the job priority from 1 (lowest) to 100 (highest)'
+complete -c lp -s s -d 'Do not report the resulting job IDs (silent mode)'
+complete -c lp -s t -d 'Sets the job name' -x
+complete -c lp -s H -d 'Specifies when the job should be printed' -xa 'hold immediate restart resume HH:MM'
+complete -c lp -s P -d 'Specify the page ranges' -x
+
diff --git a/share/completions/lpadmin.fish b/share/completions/lpadmin.fish
new file mode 100644
index 00000000..f542086c
--- /dev/null
+++ b/share/completions/lpadmin.fish
@@ -0,0 +1,32 @@
+complete -c lpadmin -s c -d 'Adds the named printer to class' -x
+complete -c lpadmin -s i -d 'Sets a System V style interface script for the printer' -x
+complete -c lpadmin -s m -d 'Sets a standard System V interface script or PPD file ' -x
+complete -c lpadmin -s R -d 'Deletes the named option from printer' -xa '(__fish_print_lpr_options)'
+complete -c lpadmin -s r -d 'Removes the named printer from class. If the resulting class becomes empty it is removed' -x
+
+complete -c lpadmin -s v -d 'Sets the device-uri attribute of the printer queue' -r
+complete -c lpadmin -s D -d 'Provides a textual description of the destination' -x
+complete -c lpadmin -s E -d 'Enables the destination and accepts jobs'
+complete -c lpadmin -s L -d 'Provides a textual location of the destination' -x
+complete -c lpadmin -s P -d 'Specifies a PostScript Printer Description file to use with the printer' -xa "(__fish_complete_suffix .ppd; __fish_complete_suffix .ppd.gz)"
+complete -c lpadmin -s o -xa cupsIPPSupplies=true -d 'Specifies whether IPP supply level values should be reported'
+complete -c lpadmin -s o -xa cupsIPPSupplies=false -d 'Specifies whether IPP supply level values should be reported'
+complete -c lpadmin -s o -xa cupsSNMPSupplies=true -d 'Specifies whether SNMP supply level (RFC 3805) values should be reported'
+complete -c lpadmin -s o -xa cupsSNMPSupplies=false -d 'Specifies whether SNMP supply level (RFC 3805) values should be reported'
+complete -c lpadmin -s o -xa job-k-limit= -d 'Sets the kilobyte limit for per-user quotas. The value is an integer number of kilobytes (1024)'
+complete -c lpadmin -s o -xa job-page-limit= -d 'Sets the page limit for per-user quotas (int) '
+complete -c lpadmin -s o -xa job-quota-period= -d 'Sets the accounting period for per-user quotas (sec)'
+complete -c lpadmin -s o -xa job-sheets-default= -d 'Sets the default banner page(s) to use for print jobs'
+complete -c lpadmin -s o -d 'Sets a PPD option for the printer' -xa '(__fish_complete_lpr_option)'
+#complete -c lpadmin -s o -d 'Sets a default server-side option for the destination' -xa '(__fish_complete_lpr_option | sed "s/=/-default=/")'
+complete -c lpadmin -s o -d 'Sets the binary communications program to use when printing' -xa 'port-monitor=none port-monitor=bcp port-monitor=tbcp'
+complete -c lpadmin -s o -d 'Sets the error policy to be used when the printer backend is unable to send the job to the printer. ' -xa 'printer-error-policy=abort-job printer-error-policy=retry-job printer-error-policy=retry-current-job printer-error-policy=stop-printer'
+complete -c lpadmin -s o -xa printer-is-shared=true -d 'Sets the destination to shared/published or unshared/unpublished'
+complete -c lpadmin -s o -xa printer-is-shared=false -d 'Sets the destination to shared/published or unshared/unpublished'
+complete -c lpadmin -s o -d 'Sets the IPP operation policy associated with the destination' -xa "printer-policy=(cat /etc/cups/cupsd.conf | grep \<Policy | sed 's/<Policy \(.\+\)>/\1/')"
+
+complete -c lpadmin -s u -xa 'allow:all allow:none (__fish_complete_list , __fish_complete_users allow:)' -d 'Sets user-level access control on a destination. Names starting with "@" are interpreted as UNIX group'
+complete -c lpadmin -s u -xa '(__fish_complete_list , __fish_complete_groups allow: @)' -d 'Sets user-level access control on a destination. Names starting with "@" are interpreted as UNIX group'
+complete -c lpadmin -s u -xa 'deny:all deny:none (__fish_complete_list , __fish_complete_users deny:)' -d 'Sets user-level access control on a destination. Names starting with "@" are interpreted as UNIX group'
+complete -c lpadmin -s u -xa '(__fish_complete_list , __fish_complete_groups deny: @)' -d 'Sets user-level access control on a destination. Names starting with "@" are interpreted as UNIX group'
+
diff --git a/share/completions/lpinfo.fish b/share/completions/lpinfo.fish
new file mode 100644
index 00000000..641eeca5
--- /dev/null
+++ b/share/completions/lpinfo.fish
@@ -0,0 +1,9 @@
+__fish_complete_lpr lpinfo
+complete -c lpinfo -s l -d 'Shows a "long" listing of devices or drivers'
+complete -c lpinfo -l device-id -x -d 'Specifies the IEEE-1284 device ID to match when listing drivers with the -m option'
+complete -c lpinfo -l exclude-schemes -x -d 'Specifies a comma-separated list of device or PPD schemes that should be excluded from the results'
+complete -c lpinfo -l include-schemes -x -d 'Specifies a comma-separated list of device or PPD schemes that should be included in the results'
+complete -c lpinfo -l language -x -d 'Specifies the language to match when listing drivers with the -m option'
+complete -c lpinfo -l make-and-model -x -d 'Specifies the make and model to match when listing drivers with the -m option'
+complete -c lpinfo -l product -x -d 'Specifies the product to match when listing drivers with the -m option'
+complete -c lpinfo -l timeout -x -d 'Specifies the timeout when listing devices with the -v option (sec)'
diff --git a/share/completions/lpmove.fish b/share/completions/lpmove.fish
new file mode 100644
index 00000000..2911d8a2
--- /dev/null
+++ b/share/completions/lpmove.fish
@@ -0,0 +1,2 @@
+__fish_complete_lpr lpmove
+
diff --git a/share/completions/lpoptions.fish b/share/completions/lpoptions.fish
new file mode 100644
index 00000000..cc97def7
--- /dev/null
+++ b/share/completions/lpoptions.fish
@@ -0,0 +1,8 @@
+__fish_complete_lpr lpoptions
+
+complete -c lpoptions -s d -d 'Sets the user default printer' -xa '(__fish_print_lpr_printers)'
+complete -c lpoptions -s l -d 'Lists the printer specific options and their current settings'
+complete -c lpoptions -s o -d 'Specifies a new option for the named destination' -xa '(__fish_complete_lpr_option)'
+complete -c lpoptions -s p -d 'Sets the destination and instance for any options that follow' -xa '(__fish_print_lpr_printers)'
+complete -c lpoptions -s r -d 'Removes the specified option for the named destination' -xa '(__fish_print_lpr_options)'
+complete -c lpoptions -s x -d 'Removes the options for the named destination and instance' -xa '(__fish_print_lpr_printers)'
diff --git a/share/completions/lppasswd.fish b/share/completions/lppasswd.fish
new file mode 100644
index 00000000..4b3ac50d
--- /dev/null
+++ b/share/completions/lppasswd.fish
@@ -0,0 +1,4 @@
+complete -c lppasswd -d 'Change CUPS digest password' -xa '(__fish_complete_users)'
+complete -c lppasswd -s a -d 'Add password'
+complete -c lppasswd -s x -d 'Remove password'
+complete -c lppasswd -s g -d 'Specify the group other, than default system group' -xa '(__fish_complete_groups)'
diff --git a/share/completions/lpq.fish b/share/completions/lpq.fish
new file mode 100644
index 00000000..9eaacfbf
--- /dev/null
+++ b/share/completions/lpq.fish
@@ -0,0 +1,3 @@
+
+__fish_complete_lpr lpq
+complete -c lpq -s l -d 'Requests a more verbose (long) reporting format'
diff --git a/share/completions/lpr.fish b/share/completions/lpr.fish
new file mode 100644
index 00000000..bf505485
--- /dev/null
+++ b/share/completions/lpr.fish
@@ -0,0 +1,11 @@
+__fish_complete_lpr lpr
+complete -c lpr -xa "(__fish_complete_suffix .pdf)"
+complete -c lpr -xa "(__fish_complete_suffix .ps)"
+complete -c lpr -s H -x -d 'Specifies an alternate server' -xa '(__fish_print_hostnames)'
+complete -c lpr -s C -s J -s T -x -d 'Sets the job name'
+#complete -c lpr -o '\\#' -d 'Sets the number of copies to print from 1 to 100' -xa
+complete -c lpr -s h -d 'Disables banner printing'
+complete -c lpr -s l -d 'Specifies that the print file is already formatted for the destination and should be sent without filtering. This option is equivalent to "-o raw"'
+complete -c lpr -s p -d 'Specifies that the print file should be formatted with a shaded header with the date, time, job name, and page number. This option is equivalent to "-o prettyprint" and is only useful when printing text files'
+complete -c lpr -s q -d 'Hold job for printing'
+complete -c lpr -s r -d 'Specifies that the named print files should be deleted after printing them'
diff --git a/share/completions/lprm.fish b/share/completions/lprm.fish
new file mode 100644
index 00000000..45f4b571
--- /dev/null
+++ b/share/completions/lprm.fish
@@ -0,0 +1 @@
+__fish_complete_lpr lprm
diff --git a/share/completions/lpstat.fish b/share/completions/lpstat.fish
new file mode 100644
index 00000000..ce33d283
--- /dev/null
+++ b/share/completions/lpstat.fish
@@ -0,0 +1,16 @@
+__fish_complete_lpr lpstat
+complete -c lpstat -s H -d 'Show the server hostname and port'
+complete -c lpstat -s R -d 'Shows the ranking of print jobs'
+complete -c lpstat -s W -d 'Specifies which jobs to show' -xa 'completed not-completed'
+complete -c lpstat -s a -d 'Shows the accepting state of selected printer queues' -xa '(__fish_print_lpr_printers)'
+complete -c lpstat -s c -x -d 'Shows the printer classes and the printers that belong to them. If no classes are specified then all classes are listed'
+complete -c lpstat -s d -d 'Shows the current default destination'
+complete -c lpstat -s l -d 'Shows a long listing of printers, classes, or jobs'
+complete -c lpstat -s o -d 'Shows the jobs queue on the specified destinations' -xa '(__fish_print_lpr_printers)'
+complete -c lpstat -s p -d 'Shows the printers and whether or not they are enabled for printing' -xa '(__fish_print_lpr_printers)'
+complete -c lpstat -s r -d 'Shows whether the CUPS server is running'
+complete -c lpstat -s s -d 'Shows a status summary, including the default destination'
+complete -c lpstat -s t -d 'Shows all status information'
+complete -c lpstat -s u -d 'Shows a list of print jobs queued by the specified users' -xa '(__fish_complete_users)'
+complete -c lpstat -s v -d 'Shows the printers and what device they are attached to' -xa '(__fish_print_lpr_printers)'
+
diff --git a/share/completions/lsblk.fish b/share/completions/lsblk.fish
new file mode 100644
index 00000000..c3dce3ef
--- /dev/null
+++ b/share/completions/lsblk.fish
@@ -0,0 +1,16 @@
+complete -c lsblk -s a -l all -d "print all devices"
+complete -c lsblk -s b -l bytes -d "print SIZE in bytes rather than in human readable format"
+complete -c lsblk -s d -l nodeps -d "don't print slaves or holders"
+complete -c lsblk -s D -l discard -d "print discard capabilities"
+complete -c lsblk -s e -l exclude -d "exclude devices by major number (default: RAM disks)"
+complete -c lsblk -s f -l fs -d "output info about filesystems"
+complete -c lsblk -s h -l help -d "usage information (this)"
+complete -c lsblk -s i -l ascii -d "use ascii characters only"
+complete -c lsblk -s m -l perms -d "output info about permissions"
+complete -c lsblk -s n -l noheadings -d "don't print headings"
+complete -c lsblk -s o -l output -d "output columns" -xa '( __fish_complete_list , __fish_print_lsblk_columns )'
+complete -c lsblk -s P -l pairs -d "use key='value' output format"
+complete -c lsblk -s r -l raw -d "use raw output format"
+complete -c lsblk -s t -l topology -d "output info about topology"
+complete -c lsblk -s l -l list -d "use list format ouput"
+
diff --git a/share/completions/lsof.fish b/share/completions/lsof.fish
new file mode 100644
index 00000000..5a4b7b55
--- /dev/null
+++ b/share/completions/lsof.fish
@@ -0,0 +1,19 @@
+complete -c lsof -s '?' -s h -d 'Print help and exit'
+complete -c lsof -s a -d 'Causes list selections to be ANDed'
+complete -c lsof -s A -r -d 'Use alternative name list file'
+complete -c lsof -s b -d 'Avoid kernel functions that might block: lstat, readlink, stat'
+complete -c lsof -s c -d 'Select the listing for processes, whose command begins with string (^ - negate)' -xa '(__fish_complete_proc)'
+complete -c lsof -s C -d 'Do not report any pathname component from kernel\'s namecache'
+complete -c lsof -s d -r -d 'specifies a list of file descriptors (FDs) to exclude from or include in the output listing'
+complete -c lsof -s D -d 'use of device cache file' -xa '\?\t"report device cache file paths"
+b\t"build the device cache file"
+i\t"ignore the device cache file"
+r\t"read the device cache file"
+u\t"read and update the device cache file"'
+
+complete -c lsof -s g -d 'select by group (^ - negates)' -xa '(__fish_complete_list , __fish_complete_groups)'
+complete -c lsof -s l -d 'Convert UIDs to login names'
+complete -c lsof -s p -d 'Select or exclude processes by pid' -xa '(__fish_complete_list , __fish_complete_pids)'
+complete -c lsof -s R -d 'Print PPID'
+complete -c lsof -s t -d 'Produce terse output (pids only, no header)'
+complete -c lsof -s u -d 'select by user (^ - negates)' -xa '(__fish_complete_list , __fish_complete_users)'
diff --git a/share/completions/lua.fish b/share/completions/lua.fish
new file mode 100644
index 00000000..21c8d1e0
--- /dev/null
+++ b/share/completions/lua.fish
@@ -0,0 +1,8 @@
+
+complete -c lua -s e -d 'Execute string' -x
+complete -c lua -s l -d 'Require library' -xa "( find /usr/lib/lua/ -name \*.so -printf '%f\n' | sed 's/.so//' )"
+complete -c lua -s i -d 'Enter interactive mode after executing script'
+complete -c lua -s v -d 'Show version'
+complete -c lua -s h -l help -d 'Print help and exit'
+complete -c lua -a "(__fish_complete_suffix .lua)"
+complete -c lua -a '-' -d 'Execute stdin and stop handling options'
diff --git a/share/completions/lxpanel.fish b/share/completions/lxpanel.fish
new file mode 100644
index 00000000..07b8bad2
--- /dev/null
+++ b/share/completions/lxpanel.fish
@@ -0,0 +1,5 @@
+complete -c lxpanel -s h -l help -d 'print this help and exit'
+complete -c lxpanel -s v -l version -d 'print version and exit'
+complete -c lxpanel -s p -l profile -d 'use specified profile' -xa '(find ~/.config/lxpanel/ -maxdepth 1 -mindepth 1 -type d -printf "%f\n")'
+complete -c lxpanel -l log -r -d 'set log level 0-5. 0 - none 5 - chatty'
+
diff --git a/share/completions/md5sum.fish b/share/completions/md5sum.fish
new file mode 100644
index 00000000..1e21ea80
--- /dev/null
+++ b/share/completions/md5sum.fish
@@ -0,0 +1 @@
+__fish_complete_xsum md5sum
diff --git a/share/completions/mktemp.fish b/share/completions/mktemp.fish
new file mode 100644
index 00000000..7bb49d5b
--- /dev/null
+++ b/share/completions/mktemp.fish
@@ -0,0 +1,7 @@
+complete -c mktemp -s d -l directory -d 'create a directory, not a file'
+complete -c mktemp -s u -l dry-run -d 'do not create anything; merely print a name (unsafe)'
+complete -c mktemp -s q -l quiet -d 'suppress diagnostics about file/dir-creation failure'
+complete -c mktemp -l suffix -r -d 'append SUFF to TEMPLATE'
+complete -c mktemp -l tmpdir -d 'interpret TEMPLATE relative to DIR'
+complete -c mktemp -l help -d 'display this help and exit'
+complete -c mktemp -l version -d 'output version information and exit'
diff --git a/share/completions/mocp.fish b/share/completions/mocp.fish
new file mode 100644
index 00000000..6d44169f
--- /dev/null
+++ b/share/completions/mocp.fish
@@ -0,0 +1,35 @@
+complete -c mocp -s V -l version -d "Print program version and exit"
+complete -c mocp -s h -l help -d "Print usage and exit"
+complete -c mocp -s D -l debug -d "Turn on logging to a file"
+complete -c mocp -s S -l server -d "Run only the server"
+complete -c mocp -s F -l foreground -d "Run server in foreground, log to stdout"
+complete -c mocp -s R -l sound-driver -d "Use the specified sound driver" -xa 'oss alsa jack null'
+complete -c mocp -s m -l music-dir -r -d "Start in MusicDir"
+complete -c mocp -s a -l append -r -d "Append the files/directories/playlists passed in the command line to playlist and exit"
+complete -c mocp -s q -l enqueue -r -d "Add the files given on command line to the queue"
+complete -c mocp -s c -l clear -d "Clear the playlist and exit"
+complete -c mocp -s p -l play -r -d "Start playing from the first item on the playlist"
+complete -c mocp -s l -l playit -r -d "Play files given on command line without modifying the playlist"
+complete -c mocp -s s -l stop -d "Stop playing"
+complete -c mocp -s f -l next -d "Play next song"
+complete -c mocp -s r -l previous -d "Play previous song"
+complete -c mocp -s x -l exit -d "Shutdown the server"
+complete -c mocp -s T -l theme -r -d "Use selected theme file (read from ~/.moc/themes if the path is not absolute"
+complete -c mocp -s C -l config -r -d "Use the specified config file instead of the default"
+complete -c mocp -s O -l set-option -r -d "NAME=VALUE Override configuration option NAME with VALUE"
+complete -c mocp -s M -l moc-dir -r -d "Use the specified MOC directory instead of the default"
+complete -c mocp -s P -l pause -d "Pause"
+complete -c mocp -s U -l unpause -d "Unpause"
+complete -c mocp -s G -l toggle-pause -d "Toggle between play/pause"
+complete -c mocp -s v -l volume -d "(+/-)LEVEL Adjust PCM volume" -xa '+ -'
+complete -c mocp -s y -l sync -d "Synchronize the playlist with other clients"
+complete -c mocp -s n -l nosync -d "Don't synchronize the playlist with other client's"
+complete -c mocp -s A -l ascii -d "Use ASCII characters to draw lines"
+complete -c mocp -s i -l info -d "Print the information about the currently played file"
+complete -c mocp -s Q -l format -rf -d "Print the formatted information about the currently played file"
+complete -c mocp -s e -l recursively -d "Alias for -a"
+complete -c mocp -s k -l seek -rf -d "Seek by N seconds (can be negative)"
+complete -c mocp -s j -l jump -rf -d "N{%,s} Jump to some position of the current track"
+complete -c mocp -s o -l on -d "Turn on a control" -xa 'shuffle autonext repeat'
+complete -c mocp -s u -l off -d "Turn off a control" -xa 'shuffle autonext repeat'
+complete -c mocp -s t -l toggle -d "Toggle a control" -xa '(__fish_complete_list , "echo shuffle\nautonext\nrepeat\ns\tshuffle\nr\trepeat\nn\tautonext")'
diff --git a/share/completions/mogrify.fish b/share/completions/mogrify.fish
new file mode 100644
index 00000000..b9a5f0a2
--- /dev/null
+++ b/share/completions/mogrify.fish
@@ -0,0 +1,212 @@
+complete -c mogrify -o adjoin -d 'Join images into a single multi-image file'
+complete -c mogrify -o affine -d 'Affine transform matrix [matrix]'
+complete -c mogrify -o antialias -d 'Remove pixel-aliasing '
+complete -c mogrify -o authenticate -d 'Decrypt image with this password [value]'
+complete -c mogrify -o background -d 'Background color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o bias -d 'Add bias when convolving an image [value]'
+complete -c mogrify -o black-point-compensation -d 'Use black point compensation'
+complete -c mogrify -o blue-primary -d 'Chromaticity blue primary point [point]'
+complete -c mogrify -o bordercolor -d 'Border color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o caption -d 'Assign a caption to an image [string]'
+complete -c mogrify -o cdl -d 'Color correct with a color decision list [filename]' -r
+complete -c mogrify -o channel -d 'Apply option to select image channels [type]' -xa '(mogrify -list channel)'
+complete -c mogrify -o colors -d 'Preferred number of colors in the image [value]'
+complete -c mogrify -o colorspace -d 'Alternate image colorspace [type]' -xa '(mogrify -list colorspace)'
+complete -c mogrify -o comment -d 'Annotate image with comment [string]'
+complete -c mogrify -o compose -d 'Set image composite operator [operator]'
+complete -c mogrify -o compress -d 'Type of pixel compression when writing the image [type]' -xa '(mogrify -list compress)'
+complete -c mogrify -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
+complete -c mogrify -o define -d 'Define one or more image format options [format:option]'
+complete -c mogrify -o delay -d 'Display the next image after pausing [value]'
+complete -c mogrify -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c mogrify -o depth -d 'Image depth [value]'
+complete -c mogrify -o direction -d 'Render text right-to-left or left-to-right [type]' -xa '(mogrify -list direction)'
+complete -c mogrify -o display -d 'Get image or font from this X server [server]'
+complete -c mogrify -o dispose -d 'Layer disposal method [method]' -xa '(mogrify -list dispose)'
+complete -c mogrify -o dither -d 'Apply error diffusion to image [method]' -xa '(mogrify -list dither)'
+complete -c mogrify -o encipher -d 'Convert plain pixels to cipher pixels [filename]' -r
+complete -c mogrify -o encoding -d 'Encoding type [type text]' -xa '(__fish_print_encodings)'
+complete -c mogrify -o endian -d 'Endianness (MSB or LSB) of the image [type]' -xa '(mogrify -list endian)'
+complete -c mogrify -o family -d 'Render text with this font family [name]' -xa '(__fish_complete_convert_options family)'
+complete -c mogrify -o fill -d 'Color to use when filling a graphic primitive [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o filter -d 'Use this filter when resizing an image [type]' -xa '(mogrify -list filter)'
+complete -c mogrify -o flatten -d 'Flatten a sequence of images'
+complete -c mogrify -o font -d 'Render text with this font [name]' -xa '(__fish_complete_convert_options font)'
+complete -c mogrify -o format -d 'Image format type [type]' -xa '(__fish_complete_convert_options type)'
+complete -c mogrify -o function -d 'Apply a function to the image [name]' -xa '(mogrify -list function)'
+complete -c mogrify -o fuzz -d 'Colors within this distance are considered equal [distance]'
+complete -c mogrify -o gravity -d 'Horizontal and vertical text placement [type]' -xa '(mogrify -list gravity)'
+complete -c mogrify -o green-primary -d 'Chromaticity green primary point [point]'
+complete -c mogrify -o intent -d 'Type of rendering intent when managing the image color [type]' -xa '(mogrify -list intent)'
+complete -c mogrify -o interlace -d 'Type of image interlacing scheme [type]' -xa '(mogrify -list interlace)'
+complete -c mogrify -o interpolate -d 'Pixel color interpolation method [method]' -xa '(mogrify -list interpolate)'
+complete -c mogrify -o kerning -d 'Set the space between two letters [value]'
+complete -c mogrify -o label -d 'Assign a label to an image [string]'
+complete -c mogrify -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c mogrify -o loop -d 'Add Netscape loop extension to your GIF animation [iterations]'
+complete -c mogrify -o mask -d 'Associate a mask with the image [filename]' -r
+complete -c mogrify -o matte -d 'Store matte channel if the image has one'
+complete -c mogrify -o mattecolor -d 'Frame color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o monitor -d 'Monitor progress '
+complete -c mogrify -o morphology -d 'Apply a morphology method to the image [method kernel]' -xa '(mogrify -list morphology)'
+complete -c mogrify -o orient -d 'Image orientation [type]' -xa '(mogrify -list orientation)'
+complete -c mogrify -o origin -d 'Image origin [geometry]'
+complete -c mogrify -o page -d 'Size and location of an image canvas (setting) [geometry]'
+complete -c mogrify -o path -d 'Path write images to this path on disk'
+complete -c mogrify -o ping -d 'Efficiently determine image attributes'
+complete -c mogrify -o pointsize -d 'Font point size [value]'
+complete -c mogrify -o preview -d 'Image preview type [type]' -xa '(mogrify -list preview)'
+complete -c mogrify -o quality -d 'JPEG/MIFF/PNG compression level [value]'
+complete -c mogrify -o quiet -d 'Suppress all warning messages'
+complete -c mogrify -o red-primary -d 'Chromaticity red primary point [point]'
+complete -c mogrify -o regard-warnings -d 'Pay attention to warning messages'
+complete -c mogrify -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c mogrify -o scene -d 'Image scene number [value]'
+complete -c mogrify -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c mogrify -o size -d 'Width and height of image [geometry]'
+complete -c mogrify -o stretch -d 'Render text with this font stretch [type]' -xa '(mogrify -list stretch)'
+complete -c mogrify -o stroke -d 'Graphic primitive stroke color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o strokewidth -d 'Graphic primitive stroke width [value]'
+complete -c mogrify -o style -d 'Render text with this font style [type]' -xa '(mogrify -list style)'
+complete -c mogrify -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
+complete -c mogrify -o synchronize -d 'Synchronize image to storage device'
+complete -c mogrify -o taint -d 'Declare the image as modified'
+complete -c mogrify -o texture -d 'Name of texture to tile onto the image background [filename]' -r
+complete -c mogrify -o tile-offset -d 'Tile offset [geometry]'
+complete -c mogrify -o treedepth -d 'Color tree depth [value]'
+complete -c mogrify -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o undercolor -d 'Annotation bounding box color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o units -d 'The units of image resolution [type]' -xa '(mogrify -list units)'
+complete -c mogrify -o verbose -d 'Print detailed information about the image'
+complete -c mogrify -o view -d 'FlashPix viewing transforms'
+complete -c mogrify -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(mogrify -list virtual-pixel)'
+complete -c mogrify -o weight -d 'Render text with this font weight [type]' -x
+complete -c mogrify -o white-point -d 'Chromaticity white point [point]'
+complete -c mogrify -o adaptive-blur -d 'Adaptively blur pixels; decrease effect near edges [geometry]'
+complete -c mogrify -o adaptive-resize -d 'Adaptively resize image with data dependent triangulation [geometry]'
+complete -c mogrify -o adaptive-sharpen -d 'Adaptively sharpen pixels; increase effect near edges [geometry]'
+complete -c mogrify -o annotate -d 'Annotate the image with text [geometry text]'
+complete -c mogrify -o auto-orient -d 'Automatically orient image'
+complete -c mogrify -o black-threshold -d 'Force all pixels below the threshold into black [value]'
+complete -c mogrify -o blur -d 'Reduce image noise and reduce detail levels [geometry]'
+complete -c mogrify -o border -d 'Surround image with a border of color [geometry]'
+complete -c mogrify -o charcoal -d 'Simulate a charcoal drawing [radius]'
+complete -c mogrify -o chop -d 'Remove pixels from the image interior [geometry]'
+complete -c mogrify -o clip -d 'Clip along the first path from the 8BIM profile'
+complete -c mogrify -o clip-mask -d 'Associate a clip mask with the image [filename]' -r
+complete -c mogrify -o clip-path -d 'Clip along a named path from the 8BIM profile [id]'
+complete -c mogrify -o colorize -d 'Colorize the image with the fill color [value]'
+complete -c mogrify -o color-matrix -d 'Apply color correction to the image [matrix]'
+complete -c mogrify -o contrast -d 'Enhance or reduce the image contrast'
+complete -c mogrify -o contrast-stretch -d 'Improve contrast by `stretching\' the intensity range [geometry]'
+complete -c mogrify -o convolve -d 'Apply a convolution kernel to the image [coefficients]'
+complete -c mogrify -o cycle -d 'Cycle the image colormap [amount]'
+complete -c mogrify -o despeckle -d 'Reduce the speckles within an image'
+complete -c mogrify -o draw -d 'Annotate the image with a graphic primitive [string]'
+complete -c mogrify -o edge -d 'Apply a filter to detect edges in the image [radius]'
+complete -c mogrify -o emboss -d 'Emboss an image [radius]'
+complete -c mogrify -o enhance -d 'Apply a digital filter to enhance a noisy image'
+complete -c mogrify -o equalize -d 'Perform histogram equalization to an image'
+complete -c mogrify -o evaluate -d 'Evaluate an arithmetic, relational, or logical expression [operator value]'
+complete -c mogrify -o extent -d 'Set the image size [geometry]'
+complete -c mogrify -o extract -d 'Extract area from image [geometry]'
+complete -c mogrify -o fft -d 'Implements the discrete Fourier transform (DFT)'
+complete -c mogrify -o flip -d 'Flip image vertically'
+complete -c mogrify -o floodfill -d 'Color floodfill the image with color [geometry]'
+complete -c mogrify -o flop -d 'Flop image horizontally'
+complete -c mogrify -o frame -d 'Surround image with an ornamental border [geometry]'
+complete -c mogrify -o gamma -d 'Level of gamma correction [value]'
+complete -c mogrify -o gaussian-blur -d 'Reduce image noise and reduce detail levels [geometry]'
+complete -c mogrify -o geometry -d 'Preferred size or location of the image [geometry]'
+complete -c mogrify -o ift -d 'Implements the inverse discrete Fourier transform (DFT)'
+complete -c mogrify -o help -d 'Print program options'
+complete -c mogrify -o identify -d 'Identify the format and characteristics of the image'
+complete -c mogrify -o implode -d 'Implode image pixels about the center [amount]'
+complete -c mogrify -o lat -d 'Local adaptive thresholding [geometry]'
+complete -c mogrify -o layers -d 'Optimize or compare image layers [method]' -xa '(mogrify -list layers)'
+complete -c mogrify -o level -d 'Adjust the level of image contrast [value]'
+complete -c mogrify -o linear-stretch -d 'Improve contrast by `stretching with saturation\' the intensity range [geometry]'
+complete -c mogrify -o median -d 'Apply a median filter to the image [geometry]'
+complete -c mogrify -o mode -d 'Make each pixel the \'predominant color\' of the neighborhood [geometry]'
+complete -c mogrify -o modulate -d 'Vary the brightness, saturation, and hue [value]'
+complete -c mogrify -o monochrome -d 'Transform image to black and white'
+complete -c mogrify -o motion-blur -d 'Simulate motion blur [geometry]'
+complete -c mogrify -o negate -d 'Replace each pixel with its complementary color'
+complete -c mogrify -o noise -d 'Add or reduce noise in an image [geometry]'
+complete -c mogrify -o normalize -d 'Transform image to span the full range of colors'
+complete -c mogrify -o opaque -d 'Change this color to the fill color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o ordered-dither -d 'Add a noise pattern to the image with specific amplitudes [NxN]'
+complete -c mogrify -o paint -d 'Simulate an oil painting [radius]'
+complete -c mogrify -o polaroid -d 'Simulate a Polaroid picture [angle]'
+complete -c mogrify -o posterize -d 'Reduce the image to a limited number of color levels [levels]'
+complete -c mogrify -o print -d 'Interpret string and print to console [string]'
+complete -c mogrify -o profile -d 'Add, delete, or apply an image profile [filename]' -r
+complete -c mogrify -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(mogrify -list colorspace)'
+complete -c mogrify -o radial-blur -d 'Radial blur the image [angle]'
+complete -c mogrify -o raise -d 'Lighten/darken image edges to create a 3-D effect [value]'
+complete -c mogrify -o random-threshold -d 'Random threshold the image [low,high]'
+complete -c mogrify -o region -d 'Apply options to a portion of the image [geometry]'
+complete -c mogrify -o render -d 'Render vector graphics'
+complete -c mogrify -o repage -d 'Size and location of an image canvas [geometry]'
+complete -c mogrify -o resample -d 'Change the resolution of an image [geometry]'
+complete -c mogrify -o resize -d 'Resize the image [geometry]'
+complete -c mogrify -o roll -d 'Roll an image vertically or horizontally [geometry]'
+complete -c mogrify -o rotate -d 'Apply Paeth rotation to the image [degrees]'
+complete -c mogrify -o sample -d 'Scale image with pixel sampling [geometry]'
+complete -c mogrify -o scale -d 'Scale the image [geometry]'
+complete -c mogrify -o segment -d 'Segment an image [values]'
+complete -c mogrify -o selective-blur -d 'Selectively blur pixels within a contrast threshold [geometry]'
+complete -c mogrify -o sepia-tone -d 'Simulate a sepia-toned photo [threshold]'
+complete -c mogrify -o set -d 'Set an image property [property value]'
+complete -c mogrify -o shade -d 'Shade the image using a distant light source [degrees]'
+complete -c mogrify -o shadow -d 'Simulate an image shadow [geometry]'
+complete -c mogrify -o sharpen -d 'Sharpen the image [geometry]'
+complete -c mogrify -o shave -d 'Shave pixels from the image edges [geometry]'
+complete -c mogrify -o shear -d 'Slide one edge of the image along the X or Y axis [geometry]'
+complete -c mogrify -o sigmoidal-contrast -d 'Lightness rescaling using sigmoidal contrast enhancement [geometry]'
+complete -c mogrify -o sketch -d 'Simulate a pencil sketch [geometry]'
+complete -c mogrify -o solarize -d 'Negate all pixels above the threshold level [threshold]'
+complete -c mogrify -o splice -d 'Splice the background color into the image [geometry]'
+complete -c mogrify -o spread -d 'Displace image pixels by a random amount [amount]'
+complete -c mogrify -o statistic -d 'Replace each pixel with corresponding statistic from the neighborhood [type geometry]' -xa '(mogrify -list statistic)'
+complete -c mogrify -o strip -d 'Strip image of all profiles and comments'
+complete -c mogrify -o swirl -d 'Swirl image pixels about the center [degrees]'
+complete -c mogrify -o threshold -d 'Threshold the image [value]'
+complete -c mogrify -o thumbnail -d 'Create a thumbnail of the image [geometry]'
+complete -c mogrify -o tile -d 'Tile image when filling a graphic primitive [filename]' -r
+complete -c mogrify -o tint -d 'Tint the image with the fill color [value]'
+complete -c mogrify -o transform -d 'Affine transform image'
+complete -c mogrify -o transparent -d 'Make this color transparent within the image [color]' -xa '(__fish_complete_convert_options color)'
+complete -c mogrify -o transpose -d 'Flip image vertically and rotate 90 degrees'
+complete -c mogrify -o transverse -d 'Flop image horizontally and rotate 270 degrees'
+complete -c mogrify -o trim -d 'Trim image edges'
+complete -c mogrify -o type -d 'Image type [type]' -xa '(mogrify -list type)'
+complete -c mogrify -o unique-colors -d 'Discard all but one of any pixel color'
+complete -c mogrify -o unsharp -d 'Sharpen the image [geometry]'
+complete -c mogrify -o vignette -d 'Soften the edges of the image in vignette style [geometry]'
+complete -c mogrify -o wave -d 'Alter an image along a sine wave [geometry]'
+complete -c mogrify -o white-threshold -d 'Force all pixels above the threshold into white [value]'
+complete -c mogrify -o affinity -d 'Transform image colors to match this set of colors [filename]' -r
+complete -c mogrify -o append -d 'Append an image sequence top to botto (use +append for left to right)'
+complete -c mogrify -o clut -d 'Apply a color lookup table to the image'
+complete -c mogrify -o coalesce -d 'Merge a sequence of images'
+complete -c mogrify -o combine -d 'Combine a sequence of images'
+complete -c mogrify -o composite -d 'Composite image '
+complete -c mogrify -o crop -d 'Cut out a rectangular region of the image [geometry]'
+complete -c mogrify -o deconstruct -d 'Break down an image sequence into constituent parts'
+complete -c mogrify -o evaluate-sequence -d 'Evaluate an arithmetic, relational, or logical expression [operator]'
+complete -c mogrify -o fx -d 'Apply mathematical expression to an image channel(s) [expression]'
+complete -c mogrify -o hald-clut -d 'Apply a Hald color lookup table to the image'
+complete -c mogrify -o morph -d 'Morph an image sequence [value]'
+complete -c mogrify -o mosaic -d 'Create a mosaic from an image sequence'
+complete -c mogrify -o process -d 'Process the image with a custom image filter [arguments]' -xa '(mogrify -list filter)'
+complete -c mogrify -o separate -d 'Separate an image channel into a grayscale image'
+complete -c mogrify -o smush -d 'Smush an image sequence together [geometry]'
+complete -c mogrify -o write -d 'Write images to this file [filename]' -r
+complete -c mogrify -o delete -d 'Delete the image from the image sequence [indexes]'
+complete -c mogrify -o duplicate -d 'Duplicate an image one or more times [count,indexes]'
+complete -c mogrify -o insert -d 'Insert last image into the image sequence [index]'
+complete -c mogrify -o swap -d 'Swap two images in the image sequence [indexes]'
+complete -c mogrify -o debug -d 'Display copious debugging information [events]' -xa '(mogrify -list debug)'
+complete -c mogrify -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c mogrify -o list -d 'Print a list of supported option arguments [type]' -xa '(mogrify -list list)'
diff --git a/share/completions/montage.fish b/share/completions/montage.fish
new file mode 100644
index 00000000..3211f39a
--- /dev/null
+++ b/share/completions/montage.fish
@@ -0,0 +1,107 @@
+complete -c montage -o adjoin -d 'Join images into a single multi-image file'
+complete -c montage -o affine -d 'Affine transform matrix [matrix]'
+complete -c montage -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(montage -list alpha)'
+complete -c montage -o authenticate -d 'Decipher image with this password [password]'
+complete -c montage -o blue-primary -d 'Chromaticity blue primary point [point]'
+complete -c montage -o bordercolor -d 'Border color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c montage -o caption -d 'Assign a caption to an image [string]'
+complete -c montage -o channel -d 'Apply option to select image channels [type]' -xa '(montage -list channel)'
+complete -c montage -o colors -d 'Preferred number of colors in the image [value]'
+complete -c montage -o colorspace -d 'Alternate image colorsapce [type]' -xa '(montage -list colorspace)'
+complete -c montage -o comment -d 'Annotate image with comment [string]'
+complete -c montage -o compose -d 'Composite operator [operator]'
+complete -c montage -o compress -d 'Type of pixel compression when writing the image [type]' -xa '(montage -list compress)'
+complete -c montage -o define -d 'Define one or more image format options [format:option]'
+complete -c montage -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c montage -o depth -d 'Image depth [value]'
+complete -c montage -o display -d 'Query font from this X server [server]'
+complete -c montage -o dispose -d 'Layer disposal method [method]' -xa '(montage -list dispose)'
+complete -c montage -o dither -d 'Apply error diffusion to image [method]' -xa '(montage -list dither)'
+complete -c montage -o draw -d 'Annotate the image with a graphic primitive [string]'
+complete -c montage -o encoding -d 'Encoding type [type text]' -xa '(__fish_print_encodings)'
+complete -c montage -o endian -d 'Endianness (MSB or LSB) of the image [type]' -xa '(montage -list endian)'
+complete -c montage -o extract -d 'Extract area from image [geometry]'
+complete -c montage -o fill -d 'Color to use when filling a graphic primitive [color]' -xa '(__fish_complete_convert_options color)'
+complete -c montage -o filter -d 'Use this filter when resizing an image [type]' -xa '(montage -list filter)'
+complete -c montage -o font -d 'Render text with this font [name]' -xa '(__fish_complete_convert_options font)'
+complete -c montage -o format -d 'Output formatted image characteristics ["string"]'
+complete -c montage -o gamma -d 'Level of gamma correction [value]'
+complete -c montage -o geometry -d 'Preferred tile and border sizes [geometry]'
+complete -c montage -o gravity -d 'Direction which direction to gravitate towards'
+complete -c montage -o green-primary -d 'Chromaticity green primary point [point]'
+complete -c montage -o identify -d 'Identify the format and characteristics of the image'
+complete -c montage -o interlace -d 'Type of image interlacing scheme [type]' -xa '(montage -list interlace)'
+complete -c montage -o interpolate -d 'Pixel color interpolation method [method]' -xa '(montage -list interpolate)'
+complete -c montage -o kerning -d 'Set the space between two letters [value]'
+complete -c montage -o label -d 'Assign a label to an image [string]'
+complete -c montage -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c montage -o mattecolor -d 'Frame color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c montage -o mode -d 'Framing style [type]' -xa '(montage -list mode)'
+complete -c montage -o monitor -d 'Monitor progress '
+complete -c montage -o origin -d 'Image origin [geometry]'
+complete -c montage -o page -d 'Size and location of an image canvas (setting) [geometry]'
+complete -c montage -o pointsize -d 'Font point size [value]'
+complete -c montage -o profile -d 'Add, delete, or apply an image profile [filename]' -r
+complete -c montage -o quality -d 'JPEG/MIFF/PNG compression level [value]'
+complete -c montage -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(montage -list colorspace)'
+complete -c montage -o quiet -d 'Suppress all warning messages'
+complete -c montage -o red-primary -d 'Chromaticity red primary point [point]'
+complete -c montage -o regard-warnings -d 'Pay attention to warning messages'
+complete -c montage -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
+complete -c montage -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c montage -o scenes -d 'Range image scene range'
+complete -c montage -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c montage -o set -d 'Attribute set an image attribute [ value]'
+complete -c montage -o shadow -d 'Add a shadow beneath a tile to simulate depth'
+complete -c montage -o size -d 'Width and height of image [geometry]'
+complete -c montage -o stroke -d 'Color to use when stroking a graphic primitive [color]' -xa '(__fish_complete_convert_options color)'
+complete -c montage -o synchronize -d 'Synchronize image to storage device'
+complete -c montage -o taint -d 'Declare the image as modified'
+complete -c montage -o texture -d 'Name of texture to tile onto the image background [filename]' -r
+complete -c montage -o thumbnail -d 'Create a thumbnail of the image [geometry]'
+complete -c montage -o tile -d 'Number of tiles per row and column [geometry]'
+complete -c montage -o title -d 'Decorate the montage image with a title [string]'
+complete -c montage -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c montage -o treedepth -d 'Color tree depth [value]'
+complete -c montage -o trim -d 'Trim image edges'
+complete -c montage -o units -d 'The units of image resolution [type]' -xa '(montage -list units)'
+complete -c montage -o verbose -d 'Print detailed information about the image'
+complete -c montage -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(montage -list virtual-pixel)'
+complete -c montage -o white-point -d 'Chromaticity white point [point]'
+complete -c montage -o adaptive-sharpen -d 'Adaptively sharpen pixels; increase effect near edges annotate geometry text annotate the image with text [geometry]'
+complete -c montage -o auto-orient -d 'Automagically orient image'
+complete -c montage -o blur -d 'Reduce image noise and reduce detail levels [geometry]'
+complete -c montage -o border -d 'Surround image with a border of color [geometry]'
+complete -c montage -o crop -d 'Preferred size and location of the cropped image [geometry]'
+complete -c montage -o extent -d 'Set the image size [geometry]'
+complete -c montage -o flatten -d 'Flatten a sequence of images'
+complete -c montage -o flip -d 'Flip image in the vertical direction'
+complete -c montage -o flop -d 'Flop image in the horizontal direction'
+complete -c montage -o frame -d 'Surround image with an ornamental border [geometry]'
+complete -c montage -o monochrome -d 'Transform image to black and white'
+complete -c montage -o polaroid -d 'Simulate a Polaroid picture [angle]'
+complete -c montage -o repage -d 'Size and location of an image canvas (operator) [geometry]'
+complete -c montage -o resize -d 'Resize the image [geometry]'
+complete -c montage -o rotate -d 'Apply Paeth rotation to the image [degrees]'
+complete -c montage -o strip -d 'Strip image of all profiles and comments'
+complete -c montage -o transform -d 'Affine transform image'
+complete -c montage -o transpose -d 'Flip image vertically and rotate 90 degrees'
+complete -c montage -o transparent -d 'Make this color transparent within the image [color]' -xa '(__fish_complete_convert_options color)'
+complete -c montage -o type -d 'Image type [type]' -xa '(montage -list type)'
+complete -c montage -o unsharp -d 'Sharpen the image [geometry]'
+complete -c montage -o coalesce -d 'Merge a sequence of images'
+complete -c montage -o composite -d 'Composite image '
+complete -c montage -o clone -d 'Clone an image [indexes]'
+complete -c montage -o delete -d 'Delete the image from the image sequence [indexes]'
+complete -c montage -o duplicate -d 'Duplicate an image one or more times [count,indexes]'
+complete -c montage -o insert -d 'Insert last image into the image sequence [index]'
+complete -c montage -o reverse -d 'Reverse image sequence'
+complete -c montage -o swap -d 'Swap two images in the image sequence [indexes]'
+complete -c montage -o debug -d 'Display copious debugging information [events]' -xa '(montage -list debug)'
+complete -c montage -o help -d 'Print program options'
+complete -c montage -o list -d 'Print a list of supported option arguments [type]' -xa '(montage -list list)'
+complete -c montage -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c montage -o version -d 'Print version information'
+complete -c montage -o matte -d 'Store matte channel if the image has one'
+complete -c montage -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
+complete -c montage -o annotate -d 'Annotate the image with text [geometry text]'
diff --git a/share/completions/mutt.fish b/share/completions/mutt.fish
index ab22ba6e..bc0626d4 100644
--- a/share/completions/mutt.fish
+++ b/share/completions/mutt.fish
@@ -1,4 +1,8 @@
-#completion for mutt
+if which abook >/dev/null
+ complete -c mutt -f -a '(__fish_print_abook_emails)'
+ complete -c mutt -s c -x -d 'Specify a carbon-copy (CC) recipient' -a '(__fish_print_abook_emails)'
+ complete -c mutt -s b -x -d 'Specify a blind-carbon-copy (BCC) recipient' -a '(__fish_print_abook_emails)'
+end
complete -c mutt -s D --description 'Print the value of all configuration options to stdout'
complete -c mutt -s h --description 'Display help'
diff --git a/share/completions/namei.fish b/share/completions/namei.fish
new file mode 100644
index 00000000..bc4a80bf
--- /dev/null
+++ b/share/completions/namei.fish
@@ -0,0 +1,8 @@
+complete -c namei -s h -l help -d 'displays this help text'
+complete -c namei -s V -l version -d 'output version information and exit'
+complete -c namei -s x -l mountpoints -d 'show mount point directories with a \'D\''
+complete -c namei -s m -l modes -d 'show the mode bits of each file'
+complete -c namei -s o -l owners -d 'show owner and group name of each file'
+complete -c namei -s l -l long -d 'use a long listing format (-m -o -v)'
+complete -c namei -s n -l nosymlinks -d 'don\'t follow symlinks'
+complete -c namei -s v -l vertical -d 'vertical align of modes and owners'
diff --git a/share/completions/ncdu.fish b/share/completions/ncdu.fish
new file mode 100644
index 00000000..b8a91814
--- /dev/null
+++ b/share/completions/ncdu.fish
@@ -0,0 +1,7 @@
+
+complete -c ncdu -s h -d 'Print help'
+complete -c ncdu -s q -d 'Quiet mode. Refresh interval 2 seconds'
+complete -c ncdu -s v -d 'Print version'
+complete -c ncdu -s x -d 'Same filesystem'
+complete -c ncdu -l exclude -d 'Exclude files that match pattern' -r
+complete -c ncdu -s X -l exclude-from -d 'Exclude files that match any pattern in file' -r
diff --git a/share/completions/nl.fish b/share/completions/nl.fish
new file mode 100644
index 00000000..f7955dea
--- /dev/null
+++ b/share/completions/nl.fish
@@ -0,0 +1,21 @@
+set -l style 'a\t"number all lines"
+t\t"number only nonempty lines"
+n\t"number no lines"
+p\t"number only lines that match regular expression"'
+
+complete -c nl -s b -l body-numbering -d 'use STYLE for numbering body lines' -xa $style
+complete -c nl -s d -l section-delimiter -x -d 'use for separating logical pages'
+complete -c nl -s f -l footer-numbering -d 'use STYLE for numbering footer lines' -xa $style
+complete -c nl -s h -l header-numbering -d 'use STYLE for numbering header lines' -xa $style
+complete -c nl -s i -l line-increment -x -d 'line number increment at each line'
+complete -c nl -s l -l join-blank-lines -x -d 'group of NUMBER empty lines counted as one'
+complete -c nl -s n -l number-format -x -d 'insert line numbers according to FORMAT'
+complete -c nl -s n -l number-format -xa ln -d 'left justified, no leading zeroes'
+complete -c nl -s n -l number-format -xa rn -d 'right justified, no leading zeroes'
+complete -c nl -s n -l number-format -xa rz -d 'right justified, leading zeroes'
+complete -c nl -s p -l no-renumber -d 'do not reset line numbers at logical pages'
+complete -c nl -s s -l number-separator -x -d 'add STRING after (possible) line number'
+complete -c nl -s v -l starting-line-number -x -d 'first line number on each logical page'
+complete -c nl -s w -l number-width -x -d 'use NUMBER columns for line numbers'
+complete -c nl -l help -d 'display this help and exit'
+complete -c nl -l version -d 'output version information and exit'
diff --git a/share/completions/not.fish b/share/completions/not.fish
index cb3e3efb..d117527d 100644
--- a/share/completions/not.fish
+++ b/share/completions/not.fish
@@ -1,2 +1,4 @@
complete -c not -s h -l help --description 'Display help and exit'
+complete -c not -xa '__fish_complete_subcommand'
+
diff --git a/share/completions/or.fish b/share/completions/or.fish
index f01db8db..fb3f0b61 100644
--- a/share/completions/or.fish
+++ b/share/completions/or.fish
@@ -1,2 +1,3 @@
complete -c or -s h -l help --description 'Display help and exit'
+complete -c or -xa '__fish_complete_subcommand'
diff --git a/share/completions/pacman-color.fish b/share/completions/pacman-color.fish
new file mode 100644
index 00000000..6a6377f2
--- /dev/null
+++ b/share/completions/pacman-color.fish
@@ -0,0 +1,3 @@
+
+__fish_complete_pacman pacman-color
+
diff --git a/share/completions/pacman.fish b/share/completions/pacman.fish
index 54662f69..33949b95 100644
--- a/share/completions/pacman.fish
+++ b/share/completions/pacman.fish
@@ -1,59 +1,3 @@
-# Completions for pacman, using short options when possible
-# Author: Giorgio Lando <patroclo7@gmail.com>
-# Primary operations
-complete -c pacman -s A -f -n '__fish_not_contain_opt -s F -s U -s Q -s R -s S -s h' -d 'Add a package to the system'
-complete -c pacman -s F -f -n '__fish_not_contain_opt -s A -s U -s Q -s R -s S -s h' -d 'Upgrade a package which is already in the system'
-complete -c pacman -s U -f -n '__fish_not_contain_opt -s A -s F -s Q -s R -s S -s h' -d 'Upgrade or add a package in the system'
-complete -c pacman -s Q -f -n '__fish_not_contain_opt -s A -s F -s U -s R -s S -s h' -d 'Query the package database'
-complete -c pacman -s R -f -n '__fish_not_contain_opt -s A -s F -s U -s Q -s S -s h' -d 'Remove packages from the system'
-complete -c pacman -s S -f -n '__fish_not_contain_opt -s A -s F -s U -s Q -s R -s h' -d 'Synchronize packages'
-complete -c pacman -o V -f -d 'Display version and exit'
+__fish_complete_pacman pacman
-# General options
-complete -c pacman -n '__fish_contains_opt -s A -s F -s Q -s R -s S -s U' -s d -d 'Skips all dependency checks'
-complete -c pacman -n '__fish_contains_opt -s A -s F -s Q -s R -s S -s U' -s f -d 'Bypass file conflict checks'
-complete -c pacman -n '__fish_contains_opt -s A -s F -s Q -s R -s S -s U' -s r -d 'Specify an alternative installation root'
-complete -c pacman -n '__fish_contains_opt -s A -s F -s Q -s R -s S -s U' -s v -d 'Output more status messages'
-complete -c pacman -n '__fish_contains_opt -s A -s F -s Q -s R -s S -s U' -l config -d 'Specify an altenate config file'
-complete -c pacman -n '__fish_contains_opt -s A -s F -s Q -s R -s S -s U' -l noconfirm -d 'Bypass any question'
-complete -c pacman -s h -f -d 'Display syntax and help for the operation'
-
-# Query options
-complete -c pacman -n '__fish_contains_opt -s Q' -s c -d 'View the changelog of a package'
-complete -c pacman -n '__fish_contains_opt -s Q' -s g -d 'Display all packages in the group'
-complete -c pacman -n '__fish_contains_opt -s Q' -s o -d 'Search for the package that owns file'
-complete -c pacman -n '__fish_contains_opt -s Q' -s e -d 'List orphan packages'
-complete -c pacman -n '__fish_contains_opt -s Q' -s m -d 'List all packages which are not in the sync database'
-complete -c pacman -n '__fish_contains_opt -s Q' -s u -d 'List all out of date packages in the system'
-complete -c pacman -n '__fish_contains_opt -s Q' -s s -d 'Search each locally installed package for regexp'
-complete -c pacman -n '__fish_contains_opt -s Q' -s i -d 'Display information on a given package'
-complete -c pacman -n '__fish_contains_opt -s Q' -s l -d 'List all files owned by a given package'
-complete -c pacman -n '__fish_contains_opt -s Q' -s p -d 'Apply the query to a package file and not to an installed package'
-
-# Remove options
-complete -c pacman -n '__fish_contains_opt -s R' -s c -d 'Remove also the packages that depends on the target packages'
-complete -c pacman -n '__fish_contains_opt -s R' -s k -d 'Remove the database entries only'
-complete -c pacman -n '__fish_contains_opt -s R' -s n -d 'Ignore file backup designations'
-complete -c pacman -n '__fish_contains_opt -s R' -s s -d 'Remove also the dependencies of the target packages'
-
-# Sync options
-complete -c pacman -n '__fish_contains_opt -s S' -s c -d 'Remove old packages from the cache; if iterated, remove all the packages from the cache'
-complete -c pacman -n '__fish_contains_opt -s S' -s e -d 'Install only the dependencies of the target packages'
-complete -c pacman -n '__fish_contains_opt -s S' -s g -d 'Display all packages in the group'
-complete -c pacman -n '__fish_contains_opt -s S' -s i -d 'Display informations for the target package'
-complete -c pacman -n '__fish_contains_opt -s S' -s l -d 'List all packages in the repository'
-complete -c pacman -n '__fish_contains_opt -s S' -s p -d 'Display URIs for target packages and dependencies'
-complete -c pacman -n '__fish_contains_opt -s S' -s s -d 'Search packages and descriptions in the repos for regexp'
-complete -c pacman -n '__fish_contains_opt -s S' -s u -d 'Upgrade all packages that are out of date'
-complete -c pacman -n '__fish_contains_opt -s S' -s w -d 'Only download the target packages'
-complete -c pacman -n '__fish_contains_opt -s S' -s y -d 'Download a fresh copy of the master package list from the servers'
-complete -c pacman -n '__fish_contains_opt -s S' -l ignore -d 'Ignore upgrades of the target packages'
-complete -c pacman -n '__fish_contains_opt -s S' -l noprogressbar -d 'Do not show a progressbar when downloading files'
-
-# Complete with local packages
-complete -c pacman -n '__fish_contains_opt -s A -s F -s U' -a '(__fish_complete_suffix pkg.tar.gz)' -d 'Local package'
-# Complete with installed packages
-complete -c pacman -n '__fish_contains_opt -s Q -s R' -a '(pacman -Q | cut --delim " " --fields 1)' -d 'Installed package'
-# Complete with packages in the repos
-complete -c pacman -n '__fish_contains_opt -s S' -a '(pacman -Sl | cut --delim " " --fields 2 | sort)' -d 'Repo package'
diff --git a/share/completions/pactree.fish b/share/completions/pactree.fish
new file mode 100644
index 00000000..43cb881c
--- /dev/null
+++ b/share/completions/pactree.fish
@@ -0,0 +1,11 @@
+complete -c pactree -xa "(pacman -Sl | cut --delim ' ' --fields 2- | tr ' ' \t | sort)"
+complete -c pactree -s b -l dbpath -d 'Set an alternate database location' -xa '(__fish_complete_directories)'
+complete -c pactree -s c -l color -d 'Colorize output'
+complete -c pactree -s d -l depth -d 'Limit the depth of recursion' -x
+complete -c pactree -s g -l graph -d 'Generate output for graphviz\'s dot'
+complete -c pactree -s h -l help -d 'Display this help message'
+complete -c pactree -s l -l linear -d 'Enable linear output'
+complete -c pactree -s r -l reverse -d 'Show reverse dependencies'
+complete -c pactree -s s -l sync -d 'Search sync DBs instead of local'
+complete -c pactree -s u -l unique -d 'Show dependencies with no duplicates (implies -l)'
+complete -c pactree -l config -d 'Set an alternate configuration file' -r
diff --git a/share/completions/pgrep.fish b/share/completions/pgrep.fish
new file mode 100644
index 00000000..76a9cb23
--- /dev/null
+++ b/share/completions/pgrep.fish
@@ -0,0 +1,4 @@
+
+__fish_complete_pgrep pgrep
+complete -c pgrep -s d -r -d 'Output delimiter'
+complete -c pgrep -s l -d 'List the process name as well as the process ID'
diff --git a/share/completions/pinky.fish b/share/completions/pinky.fish
new file mode 100644
index 00000000..f043e430
--- /dev/null
+++ b/share/completions/pinky.fish
@@ -0,0 +1,12 @@
+complete -c pinky -s l -d "produce long format output for the specified USERs"
+complete -c pinky -s b -d "omit the user's home directory and shell in long format"
+complete -c pinky -s h -d "omit the user's project file in long format"
+complete -c pinky -s p -d "omit the user's plan file in long format"
+complete -c pinky -s s -d "do short format output, this is the default"
+complete -c pinky -s f -d "omit the line of column headings in short format"
+complete -c pinky -s w -d "omit the user's full name in short format"
+complete -c pinky -s i -d "omit the user's full name and remote host in short format"
+complete -c pinky -s q -d "omit the user's full name, remote host and idle time in short format"
+complete -c pinky -l help -d "display this help and exit"
+complete -c pinky -l version -d "output version information and exit"
+
diff --git a/share/completions/pkgfile.fish b/share/completions/pkgfile.fish
new file mode 100644
index 00000000..d76a7977
--- /dev/null
+++ b/share/completions/pkgfile.fish
@@ -0,0 +1,12 @@
+complete -c pkgfile -l version -d 'show program\'s version number and exit'
+complete -c pkgfile -s h -l help -d 'show this help message and exit'
+complete -c pkgfile -s b -l binaries -d 'only show files in a {s}bin/ directory. Works with -s, -l'
+complete -c pkgfile -s c -l case-sensitive -d 'make searches case sensitive'
+complete -c pkgfile -s g -l glob -d 'allow the use of * and ? as wildcards'
+complete -c pkgfile -s r -l regex -d 'allow the use of regex in searches'
+complete -c pkgfile -s R -l repo -d 'search only in the specified repository' -xa '(cat /etc/pacman.conf|grep "^\[" | sed "s/\[\|]//g")'
+complete -c pkgfile -s v -l verbose -d 'enable verbose output'
+complete -c pkgfile -s i -l info -d 'provides information about the package owning a file' -r
+complete -c pkgfile -s l -l list -d 'list files of a given package; similar to "pacman -Ql"' -xa "(pacman -Sl | cut --delim ' ' --fields 2- | tr ' ' \t | sort)"
+complete -c pkgfile -s s -l search -d 'search which package owns a file' -r
+complete -c pkgfile -s u -l update -d 'update to the latest filelist. This requires write permission to /var/cache/pkgtools/lists'
diff --git a/share/completions/pkill.fish b/share/completions/pkill.fish
new file mode 100644
index 00000000..225f6d8e
--- /dev/null
+++ b/share/completions/pkill.fish
@@ -0,0 +1,9 @@
+
+__fish_complete_pgrep pkill
+__fish_make_completion_signals
+for i in $__kill_signals
+ set number (echo $i | cut -d " " -f 1)
+ set name (echo $i | cut -d " " -f 2)
+ complete -c pkill -o $number -d $name
+ complete -c pkill -o $name -d $name
+end
diff --git a/share/completions/poff.fish b/share/completions/poff.fish
new file mode 100644
index 00000000..d8cf2402
--- /dev/null
+++ b/share/completions/poff.fish
@@ -0,0 +1,7 @@
+complete -c poff -d 'PPP connection' -xa '(__fish_complete_ppp_peer)'
+complete -c poff -s r -d 'Causes the connection to be redialed after it is dropped'
+complete -c poff -s d -d 'Toggles the state of pppd\'s debug option'
+complete -c poff -s c -d 'Causes pppd(8) to renegotiate compression'
+complete -c poff -s a -d 'Stops all running ppp connections. If the argument isp-name is given it will be ignored'
+complete -c poff -s h -d 'Displays help information'
+complete -c poff -s v -d 'Prints the version and exits'
diff --git a/share/completions/pon.fish b/share/completions/pon.fish
new file mode 100644
index 00000000..d7acb770
--- /dev/null
+++ b/share/completions/pon.fish
@@ -0,0 +1 @@
+complete -c pon -d 'PPP connection' -xa '(__fish_complete_ppp_peer)'
diff --git a/share/completions/ps.fish b/share/completions/ps.fish
index 513fd6fc..437f787a 100644
--- a/share/completions/ps.fish
+++ b/share/completions/ps.fish
@@ -7,19 +7,20 @@ complete -c ps -s d --description "Select all processes except session leaders"
complete -c ps -s e --description "Select all"
complete -c ps -l deselect --description "Deselect all processes that do not fulfill conditions"
-complete -c ps -s C --description "Select by command" -r
-complete -c ps -s G -l Group --description "Select by group" -x -a "(__fish_complete_groups)"
+complete -c ps -s C --description "Select by command" -ra '(__fish_complete_list , __fish_complete_proc)'
+complete -c ps -s G -l Group --description "Select by group" -x -a "(__fish_complete_list , __fish_complete_groups)"
-complete -c ps -s U -l User --description "Select by user" -x -a "(__fish_complete_users)"
-complete -c ps -s u -l user --description "Select by user" -x -a "(__fish_complete_users)"
-complete -c ps -s g -l group --description "Select by group/session" -x -a "(__fish_complete_groups)"
-complete -c ps -s p -l pid --description "Select by PID" -x -a "(__fish_complete_pids)"
-complete -c ps -l ppid --description "Select by parent PID" -x -a "(__fish_complete_pids)"
-complete -c ps -s s -l sid --description "Select by session ID" -x -a "(__fish_complete_pids)"
+complete -c ps -s U -l User --description "Select by user" -x -a "(__fish_complete_list , __fish_complete_users)"
+complete -c ps -s u -l user --description "Select by user" -x -a "(__fish_complete_list , __fish_complete_users)"
+complete -c ps -s g -l group --description "Select by group/session" -x -a "(__fish_complete_list , __fish_complete_groups)"
+complete -c ps -s p -l pid --description "Select by PID" -x -a "(__fish_complete_list , __fish_complete_pids)"
+complete -c ps -l ppid --description "Select by parent PID" -x -a "(__fish_complete_list , __fish_complete_pids)"
+complete -c ps -s s -l sid --description "Select by session ID" -x -a "(__fish_complete_list , __fish_complete_pids)"
complete -c ps -s t -l tty --description "Select by tty" -r
complete -c ps -s F --description "Extra full format"
complete -c ps -s O --description "User defined format" -x
complete -c ps -s M --description "Add column for security data"
+complete -c ps -s c -d 'Show different scheduler information for the -l option'
complete -c ps -s f --description "Full format"
complete -c ps -s j --description "Jobs format"
complete -c ps -s l --description "Long format"
@@ -29,8 +30,15 @@ complete -c ps -s Z -l context --description "Add column for security data"
complete -c ps -s H -l forest --description "Show hierarchy"
complete -c ps -s n --description "Set namelist file" -r
complete -c ps -s w --description "Wide output"
-complete -c ps -s L --description "Show threads"
-complete -c ps -s T --description "Show threads"
+complete -c ps -l cols -l columns -l width -d 'Set screen width' -r
+complete -c ps -l cumulative -d 'Include dead child process data'
+complete -c ps -l headers -d 'Repead header lines, one per page'
+complete -c ps -l no-headers -d 'Print no headers'
+complete -c ps -l lines -l rows -d 'Set screen height' -r
+complete -c ps -l sort -d 'Spericy sorting order' -r
+complete -c ps -s L --description "Show threads. With LWP/NLWP"
+complete -c ps -s T --description "Show threads. With SPID"
+complete -c ps -s m -d 'Show threads after processes'
complete -c ps -s V -l version --description "Display version and exit"
complete -c ps -l help --description "Display help and exit"
complete -c ps -l info --description "Display debug info"
diff --git a/share/completions/pydf.fish b/share/completions/pydf.fish
new file mode 100644
index 00000000..69d2a315
--- /dev/null
+++ b/share/completions/pydf.fish
@@ -0,0 +1,18 @@
+
+complete -c pydf -r -d 'Report colourised filesystem disk space usage'
+complete -c pydf -l help -d 'show this help message'
+complete -c pydf -s v -l version -d 'show version'
+complete -c pydf -s a -l all -d 'include filesystems having 0 blocks'
+complete -c pydf -s h -l human-readable -d 'print sizes in human readable format (e.g., 1K 234M 2G)'
+complete -c pydf -s H -l si -d 'likewise, but use powers of 1000 not 1024'
+complete -c pydf -s b -l block-size -x -d 'use BLOCKSIZE-byte blocks'
+complete -c pydf -s l -l local -d 'limit listing to local filesystems'
+complete -c pydf -s k -l kilobytes -d 'like --block-size=1024'
+complete -c pydf -s m -l megabytes -d 'like --block-size=1048576'
+complete -c pydf -s g -l gigabytes -d 'like --block-size=1073741824'
+complete -c pydf -l blocks -d 'use filesystem native block size'
+complete -c pydf -l bw -d 'do not use colours'
+complete -c pydf -l mounts -r -d 'file to get mount information from. On normal Linux systems only /etc/mtab or /proc/mounts make sense. Some other Unices use /etc/mnttab. Use /proc/mounts when /etc/mtab is corrupted or inaccessible (the output looks a bit weird in this case).'
+complete -c pydf -s B -l show-binds -d 'show \'mount --bind\' mounts'
+complete -c pydf -s i -l inodes -d 'show inode instead of block usage'
+
diff --git a/share/completions/python.fish b/share/completions/python.fish
index 937677a3..4c8eb442 100644
--- a/share/completions/python.fish
+++ b/share/completions/python.fish
@@ -1,14 +1 @@
-complete -c python -s c -x --description "Execute argument as command"
-complete -c python -s d --description "Debug on"
-complete -c python -s E --description "Ignore environment variables"
-complete -c python -s h --description "Display help and exit"
-complete -c python -s i --description "Interactive mode after executing commands"
-complete -c python -s O --description "Enable optimizations"
-complete -c python -s Q -x -a "old new" --description "Division control"
-complete -c python -s S --description "Disable import of site module"
-complete -c python -s t --description "Warn on mixed tabs and spaces"
-complete -c python -s u --description "Unbuffered input and output"
-complete -c python -s v --description "Verbose mode"
-complete -c python -s V --description "Display version and exit"
-complete -c python -s W -x --description "Warning control" -a "ignore default all module once error"
-complete -c python -s x --description "Ignore first line of input"
+__fish_complete_python python
diff --git a/share/completions/python2.fish b/share/completions/python2.fish
new file mode 100644
index 00000000..223d92d8
--- /dev/null
+++ b/share/completions/python2.fish
@@ -0,0 +1 @@
+__fish_complete_python python2
diff --git a/share/completions/python3.fish b/share/completions/python3.fish
new file mode 100644
index 00000000..983b0e74
--- /dev/null
+++ b/share/completions/python3.fish
@@ -0,0 +1,2 @@
+__fish_complete_python python3
+
diff --git a/share/completions/rc.d.fish b/share/completions/rc.d.fish
new file mode 100644
index 00000000..2a34f0f5
--- /dev/null
+++ b/share/completions/rc.d.fish
@@ -0,0 +1,7 @@
+
+complete -c rc.d -xa 'list start stop restart help' -n 'not __fish_seen_subcommand_from list start stop restart'
+complete -c rc.d -s s -l started -n '__fish_seen_subcommand_from list start stop restart' -d 'Filter started daemons'
+complete -c rc.d -s S -l stopped -n '__fish_seen_subcommand_from list start stop restart' -d 'Filter stopped daemons'
+complete -c rc.d -s a -l auto -n '__fish_seen_subcommand_from list start stop restart' -d 'Filter auto started daemons'
+complete -c rc.d -s A -l noauto -n '__fish_seen_subcommand_from list start stop restart' -d 'Filter manually started daemons'
+complete -c rc.d -n '__fish_seen_subcommand_from list start stop restart' -xa '( __fish_print_arch_daemons )'
diff --git a/share/completions/readlink.fish b/share/completions/readlink.fish
new file mode 100644
index 00000000..77bee32b
--- /dev/null
+++ b/share/completions/readlink.fish
@@ -0,0 +1,8 @@
+complete -c readlink -s f -l canonicalize -d 'follow every symlink in every component of the given name recursively; all but the last component must exist'
+complete -c readlink -s e -l canonicalize-existing -d 'follow every symlink in every component of the given name recursively, all components must exist'
+complete -c readlink -s m -l canonicalize-missing -d 'follow every symlink in every component of the given name recursively, without requirements on components existence'
+complete -c readlink -s n -l no-newline -d 'do not output the trailing newline'
+complete -c readlink -s q -l quiet -l silent -d 'suppress most error messages'
+complete -c readlink -s v -l verbose -d 'report error messages'
+complete -c readlink -l help -d 'display this help and exit'
+complete -c readlink -l version -d 'output version information and exit'
diff --git a/share/completions/realpath.fish b/share/completions/realpath.fish
new file mode 100644
index 00000000..bad7d417
--- /dev/null
+++ b/share/completions/realpath.fish
@@ -0,0 +1,11 @@
+complete -c realpath -s e -l canonicalize-existing -d 'all components of the path must exist'
+complete -c realpath -s m -l canonicalize-missing -d 'no components of the path need exist'
+complete -c realpath -s L -l logical -d 'resolve \'..\' components before symlinks'
+complete -c realpath -s P -l physical -d 'resolve symlinks as encountered (default)'
+complete -c realpath -s q -l quiet -d 'suppress most error messages'
+complete -c realpath -l relative-to -r -d 'print the resolved path relative to FILE'
+complete -c realpath -l relative-base -r -d 'print absolute paths unless paths below FILE'
+complete -c realpath -s s -l strip -l no-symlinks -d 'don\'t expand symlinks'
+complete -c realpath -s z -l zero -d 'separate output with NUL rather than newline'
+complete -c realpath -l help -d 'display this help and exit'
+complete -c realpath -l version -d 'output version information and exit'
diff --git a/share/completions/reject.fish b/share/completions/reject.fish
new file mode 100644
index 00000000..f2c33079
--- /dev/null
+++ b/share/completions/reject.fish
@@ -0,0 +1,3 @@
+__fish_complete_lpr reject
+complete -c reject -s r -d 'Reject reason' -x
+
diff --git a/share/completions/rfkill.fish b/share/completions/rfkill.fish
new file mode 100644
index 00000000..a8b78661
--- /dev/null
+++ b/share/completions/rfkill.fish
@@ -0,0 +1,4 @@
+complete -c rfkill -xa 'block unblock list event help' -n 'not __fish_seen_subcommand_from block unblock list event help'
+complete -c rfkill -n '__fish_seen_subcommand_from block unblock list' -d 'device group' -xa "all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm (rfkill list | tr : \t)"
+complete -c rfkill -l version -d 'Print version'
+
diff --git a/share/completions/root.fish b/share/completions/root.fish
new file mode 100644
index 00000000..2988b8a2
--- /dev/null
+++ b/share/completions/root.fish
@@ -0,0 +1,10 @@
+
+complete -c root -s b -d 'Run in batch mode'
+complete -c root -s n -d 'Do not execute logon and logoff macros'
+complete -c root -s q -d 'Exit after processing commandline macro files'
+complete -c root -s l -d 'Do not show splashscreen'
+complete -c root -s x -d 'Exit on exception'
+complete -c root -s h -s \? -l help -d 'Print help'
+complete -c root -o config -d 'Print ./configure options'
+complete -c root -o memstat -d 'Run with memory usage monitoring'
+complete -c root -a "(__fish_complete_suffix .root)"
diff --git a/share/completions/scanimage.fish b/share/completions/scanimage.fish
new file mode 100644
index 00000000..63a9ad8d
--- /dev/null
+++ b/share/completions/scanimage.fish
@@ -0,0 +1,40 @@
+complete -c scanimage -s l -r -d 'Top-left x position of scan area [0..480pel]/[0..218mm]'
+complete -c scanimage -s t -r -d 'Top-left y position of scan area [0..360pel]'
+complete -c scanimage -s x -r -d 'Width of scan area [160..640pel]'
+complete -c scanimage -s y -r -d 'Height of scan area [120..480pel]'
+
+complete -c scanimage -l brightness -r -d 'Controls the brightness of the acquired image [0..255: 128]'
+complete -c scanimage -l hue -d 'Controls the "hue" (blue-level) of the acquired image [0..255]: 128'
+complete -c scanimage -l color -d 'Sets the picture\'s color [0..255]: 133'
+complete -c scanimage -l contrast -d 'Controls the contrast of the acquired image [0..255]: 128'
+complete -c scanimage -l white-level -d 'Selects what radiance level should be considered "white" [0..255]: 124'
+complete -c scanimage -l custom-gamma -d 'Use custom gamma gable'
+complete -c scanimage -l gamma-table -r -d 'Gamma-correction table [0..255,...]'
+complete -c scanimage -l mode -xa 'Lineart Gray Color' -d 'Scan mode'
+
+complete -c scanimage -s d -l device-name -d 'Device name to use' -xa '(scanimage -f "%d%n")'
+complete -c scanimage -s L -l list-devices -d 'List devices'
+complete -c scanimage -s f -l formatted-device-list -r -d 'Print formatted device list [%d, %v, %m, %t, %i, %n]'
+complete -c scanimage -l channel -r -d 'Selects the channel of the v4l device (e.g. television or video-in.)'
+
+complete -c scanimage -l filename -d 'The filename of the image to be loaded'
+complete -c scanimage -l format -xa 'pnm tiff' -d 'Output image format'
+complete -c scanimage -s i -l icc-profile -r -d 'Include this ICC profile into TIFF file'
+
+complete -c scanimage -s b -l batch -d 'Working in batch mode, FORMAT is \'out%d.pnm\' or \'out%d.tif\' by default depending on --format'
+complete -c scanimage -l batch-start -r -d 'Page number to start naming files with'
+complete -c scanimage -l batch-count -r -d 'How many pages to scan in batch mode'
+complete -c scanimage -l batch-increment -r -d 'Increase page number in filename by #'
+complete -c scanimage -l batch-double -d 'Increment page number by two'
+complete -c scanimage -l batch-prompt -d 'Ask for pressing a key before scanning a page'
+
+complete -c scanimage -l accept-md5-only -d 'Only accept authorization requests using md5'
+complete -c scanimage -s p -l progress -d 'Print progress messages'
+complete -c scanimage -s n -l dont-scan -d 'Only set options, don\'t actually scan'
+complete -c scanimage -s T -l test -d 'Test backend thoroughly'
+complete -c scanimage -s A -l all-options -d 'List all available backend options'
+complete -c scanimage -s h -l help -d 'Display this help message and exit'
+complete -c scanimage -s v -l verbose -d 'Give even more status messages'
+complete -c scanimage -s B -l buffer-size -r -d 'Change input buffer size (in kB, default 32)'
+complete -c scanimage -s V -l version -d 'Print version information'
+
diff --git a/share/completions/scrot.fish b/share/completions/scrot.fish
new file mode 100644
index 00000000..81bf4a12
--- /dev/null
+++ b/share/completions/scrot.fish
@@ -0,0 +1,11 @@
+
+complete -c scrot -s h -l help -d 'display this help and exit'
+complete -c scrot -s v -l version -d 'output version information and exit'
+complete -c scrot -s b -l border -d 'When selecting a window, grab wm border too'
+complete -c scrot -s c -l count -d 'show a countdown before taking the shot'
+complete -c scrot -s d -l delay -x -d 'wait NUM seconds before taking a shot'
+complete -c scrot -s e -l exec -d 'run APP on the resulting screenshot' -xa '(complete -C(commandline -ct))'
+complete -c scrot -s q -l quality -x -d 'Image quality (1-100) high value means high size, low compression. Default: 75. For lossless compression formats, like png, low quality means high compression.'
+complete -c scrot -s m -l multidisp -d 'For multiple heads, grab shot from each and join them together.'
+complete -c scrot -s s -l select -d 'interactively choose a window or rectnagle with the mouse'
+complete -c scrot -s t -l thumb -x -d 'generate thumbnail too. NUM is the percentage of the original size for the thumbnail to be, or the geometry in percent, e.g. 50x60 or 80x20.'
diff --git a/share/completions/seq.fish b/share/completions/seq.fish
new file mode 100644
index 00000000..6a4fb617
--- /dev/null
+++ b/share/completions/seq.fish
@@ -0,0 +1,7 @@
+complete -c seq -x
+complete -c seq -s f -l format -x -d 'use printf style floating-point FORMAT'
+complete -c seq -s s -l separator -x -d 'use STRING to separate numbers (default: \n)'
+complete -c seq -s w -l equal-width -d 'equalize width by padding with leading zeroes'
+complete -c seq -l help -d 'display this help and exit'
+complete -c seq -l version -d 'output version information and exit'
+
diff --git a/share/completions/setxkbmap.fish b/share/completions/setxkbmap.fish
new file mode 100644
index 00000000..b3561346
--- /dev/null
+++ b/share/completions/setxkbmap.fish
@@ -0,0 +1,24 @@
+
+set -l filter '"s/\S+\s\S+\s(.+)\((.+)\)/\1\t\2/;"'
+
+complete -c setxkbmap -o '?' -o help -d 'Print this message'
+complete -c setxkbmap -o compat -d 'Specifies compatibility map component name' -xa "(cat /usr/share/X11/xkb/compat.dir | sed -r $filter)"
+complete -c setxkbmap -o config -d 'Specifies configuration file to use' -r
+complete -c setxkbmap -o device -d 'Specifies the device ID to use' -x
+complete -c setxkbmap -o display -d 'Specifies display to use' -x
+complete -c setxkbmap -o geometry -d 'Specifies geometry component name' -xa "(cat /usr/share/X11/xkb/geometry.dir | sed -r $filter)"
+complete -c setxkbmap -o I -d 'Add <dir> to list of directories to be used' -xa '(__fish_complete_directories)'
+complete -c setxkbmap -o keycodes -d 'Specifies keycodes component name' -xa "(cat /usr/share/X11/xkb/keycodes.dir | sed -r $filter)"
+complete -c setxkbmap -o keymap -d 'Specifies name of keymap to load' -xa "(cat /usr/share/X11/xkb/keymap.dir | sed -r $filter)"
+complete -c setxkbmap -o layout -d 'Specifies layout used to choose component names' -xa "(__fish_complete_setxkbmap layout)"
+complete -c setxkbmap -o model -d 'Specifies model used to choose component names' -xa "(__fish_complete_setxkbmap model)"
+complete -c setxkbmap -o option -d 'Adds an option used to choose component names' -xa "(__fish_complete_list , '__fish_complete_setxkbmap option')"
+complete -c setxkbmap -o print -d 'Print a complete xkb_keymap description and exit'
+complete -c setxkbmap -o query -d 'Print the current layout settings and exit'
+complete -c setxkbmap -o rules -d 'Name of rules file to use' -x
+complete -c setxkbmap -o symbols -d 'Specifies symbols component name' -xa "(cat /usr/share/X11/xkb/symbols.dir | sed -r $filter)"
+complete -c setxkbmap -o synch -d 'Synchronize request w/X server'
+complete -c setxkbmap -o types -d 'Specifies types component name' -xa "(cat /usr/share/X11/xkb/types.dir | sed -r $filter)"
+complete -c setxkbmap -o v -o verbose -d 'Sets verbosity (1..10). Higher values yield more messages' -xa '(seq 1 10)'
+complete -c setxkbmap -o variant -d 'Specifies layout variant used to choose component names' -xa "(__fish_complete_setxkbmap variant)"
+
diff --git a/share/completions/sha1sum.fish b/share/completions/sha1sum.fish
new file mode 100644
index 00000000..88a3c95f
--- /dev/null
+++ b/share/completions/sha1sum.fish
@@ -0,0 +1 @@
+__fish_complete_xsum sha1sum
diff --git a/share/completions/sha224sum.fish b/share/completions/sha224sum.fish
new file mode 100644
index 00000000..2b7b5a5f
--- /dev/null
+++ b/share/completions/sha224sum.fish
@@ -0,0 +1 @@
+__fish_complete_xsum sha224sum
diff --git a/share/completions/sha256sum.fish b/share/completions/sha256sum.fish
new file mode 100644
index 00000000..8af917f5
--- /dev/null
+++ b/share/completions/sha256sum.fish
@@ -0,0 +1 @@
+__fish_complete_xsum sha256sum
diff --git a/share/completions/sha384sum.fish b/share/completions/sha384sum.fish
new file mode 100644
index 00000000..afb6c24b
--- /dev/null
+++ b/share/completions/sha384sum.fish
@@ -0,0 +1 @@
+__fish_complete_xsum sha384sum
diff --git a/share/completions/sha512sum.fish b/share/completions/sha512sum.fish
new file mode 100644
index 00000000..a5237b4b
--- /dev/null
+++ b/share/completions/sha512sum.fish
@@ -0,0 +1 @@
+__fish_complete_xsum sha512sum
diff --git a/share/completions/stat.fish b/share/completions/stat.fish
new file mode 100644
index 00000000..9bff61ad
--- /dev/null
+++ b/share/completions/stat.fish
@@ -0,0 +1,7 @@
+complete -c stat -s L -l dereference -d 'follow links'
+complete -c stat -s f -l file-system -d 'display file system status instead of file status'
+complete -c stat -s c -l format -x -d 'use the specified FORMAT instead of the default; output a newline after each use of FORMAT'
+complete -c stat -l printf -x -d 'like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT'
+complete -c stat -s t -l terse -d 'print the information in terse form'
+complete -c stat -l help -d 'display this help and exit'
+complete -c stat -l version -d 'output version information and exit'
diff --git a/share/completions/stream.fish b/share/completions/stream.fish
new file mode 100644
index 00000000..778f4c0f
--- /dev/null
+++ b/share/completions/stream.fish
@@ -0,0 +1,33 @@
+complete -c stream -o authenticate -d 'Decipher image with this password [password]'
+complete -c stream -o channel -d 'Apply option to select image channels [type]' -xa '(stream -list channel)'
+complete -c stream -o colorspace -d 'Alternate image colorspace [type]' -xa '(stream -list colorspace)'
+complete -c stream -o compress -d 'Type of pixel compression when writing the image [type]' -xa '(stream -list compress)'
+complete -c stream -o define -d 'Define one or more image format options [format:option]'
+complete -c stream -o density -d 'Horizontal and vertical density of the image [geometry]'
+complete -c stream -o depth -d 'Image depth [value]'
+complete -c stream -o extract -d 'Extract area from image [geometry]'
+complete -c stream -o identify -d 'Identify the format and characteristics of the image'
+complete -c stream -o interlace -d 'Type of image interlacing scheme [type]' -xa '(stream -list interlace)'
+complete -c stream -o interpolate -d 'Pixel color interpolation method [method]' -xa '(stream -list interpolate)'
+complete -c stream -o limit -d 'Pixel cache resource limit [type value]' -x
+complete -c stream -o map -d 'Components one or more pixel components'
+complete -c stream -o monitor -d 'Monitor progress '
+complete -c stream -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(stream -list colorspace)'
+complete -c stream -o quiet -d 'Suppress all warning messages'
+complete -c stream -o regard-warnings -d 'Pay attention to warning messages'
+complete -c stream -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
+complete -c stream -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
+complete -c stream -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
+complete -c stream -o set -d 'Attribute set an image attribute [ value]'
+complete -c stream -o size -d 'Width and height of image [geometry]'
+complete -c stream -o storage-type -d 'Pixel storage type [type]' -xa '(stream -list storage)'
+complete -c stream -o synchronize -d 'Synchronize image to storage device'
+complete -c stream -o taint -d 'Declare the image as modified'
+complete -c stream -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
+complete -c stream -o verbose -d 'Print detailed information about the image'
+complete -c stream -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(stream -list virtual-pixel)'
+complete -c stream -o debug -d 'Display copious debugging information [events]' -xa '(stream -list debug)'
+complete -c stream -o help -d 'Print program options'
+complete -c stream -o list -d 'Print a list of supported option arguments [type]' -xa '(stream -list list)'
+complete -c stream -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
+complete -c stream -o version -d 'Print version information'
diff --git a/share/completions/su.fish b/share/completions/su.fish
index 990a0ae5..3fe54850 100644
--- a/share/completions/su.fish
+++ b/share/completions/su.fish
@@ -2,7 +2,7 @@
complete -x -c su -a "(__fish_complete_users)"
complete -c su -s l -l login --description "Make login shell"
-complete -r -c su -s c -l command --description "Pass command to shell" -xa "(__fish_complete_command)"
+complete -r -c su -s c -l command --description "Pass command to shell" -xa "(complete -C(commandline -ct))"
complete -c su -s f -l fast --description "Pass -f to the shell"
complete -c su -s m -l preserve_environment --description "Preserve environment"
complete -c su -s p --description "Preserve environment"
diff --git a/share/completions/svn.fish b/share/completions/svn.fish
index 7abc3293..fdd3b876 100644
--- a/share/completions/svn.fish
+++ b/share/completions/svn.fish
@@ -1,889 +1 @@
-
-#
-# Completions for the svn command
-# This file was autogenerated by the file make_vcs_completions.fish
-# which is shipped with the fish source code.
-#
-
-#
-# Completions from commandline
-#
-
-
-#
-# subcommands
-#
-
-complete -c svn -n '__fish_use_subcommand' -x -a add --description 'Put files and directories under version control, scheduling them for addition to repository. They will be added in next commit.'
-complete -c svn -n '__fish_use_subcommand' -x -a blame --description 'Output the content of specified files or URLs with revision and author information in-line.'
-complete -c svn -n '__fish_use_subcommand' -x -a praise --description 'Output the content of specified files or URLs with revision and author information in-line.'
-complete -c svn -n '__fish_use_subcommand' -x -a annotate --description 'Output the content of specified files or URLs with revision and author information in-line.'
-complete -c svn -n '__fish_use_subcommand' -x -a ann --description 'Output the content of specified files or URLs with revision and author information in-line.'
-complete -c svn -n '__fish_use_subcommand' -x -a cat --description 'Output the content of specified files or URLs.'
-complete -c svn -n '__fish_use_subcommand' -x -a checkout --description 'Check out a working copy from a repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a co --description 'Check out a working copy from a repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a cleanup --description 'Recursively clean up the working copy, removing locks, resuming unfinished operations, etc.'
-complete -c svn -n '__fish_use_subcommand' -x -a commit --description 'Send changes from your working copy to the repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a ci --description 'Send changes from your working copy to the repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a copy --description 'Duplicate something in working copy or repository, remembering history.'
-complete -c svn -n '__fish_use_subcommand' -x -a cp --description 'Duplicate something in working copy or repository, remembering history.'
-complete -c svn -n '__fish_use_subcommand' -x -a delete --description 'Remove files and directories from version control.'
-complete -c svn -n '__fish_use_subcommand' -x -a del --description 'Remove files and directories from version control.'
-complete -c svn -n '__fish_use_subcommand' -x -a remove --description 'Remove files and directories from version control.'
-complete -c svn -n '__fish_use_subcommand' -x -a rm --description 'Remove files and directories from version control.'
-complete -c svn -n '__fish_use_subcommand' -x -a diff --description 'Display the differences between two revisions or paths.'
-complete -c svn -n '__fish_use_subcommand' -x -a di --description 'Display the differences between two revisions or paths.'
-complete -c svn -n '__fish_use_subcommand' -x -a export --description 'Create an unversioned copy of a tree.'
-complete -c svn -n '__fish_use_subcommand' -x -a help --description 'Describe the usage of this program or its subcommands.'
-complete -c svn -n '__fish_use_subcommand' -x -a ? --description 'Describe the usage of this program or its subcommands.'
-complete -c svn -n '__fish_use_subcommand' -x -a h --description 'Describe the usage of this program or its subcommands.'
-complete -c svn -n '__fish_use_subcommand' -x -a import --description 'Commit an unversioned file or tree into the repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a info --description 'Display information about a local or remote item.'
-complete -c svn -n '__fish_use_subcommand' -x -a list --description 'List directory entries in the repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a ls --description 'List directory entries in the repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a lock --description 'Lock working copy paths or URLs in the repository, so that no other user can commit changes to them.'
-complete -c svn -n '__fish_use_subcommand' -x -a log --description 'Show the log messages for a set of revision(s) and/or file(s).'
-complete -c svn -n '__fish_use_subcommand' -x -a merge --description 'Apply the differences between two sources to a working copy path.'
-complete -c svn -n '__fish_use_subcommand' -x -a mkdir --description 'Create a new directory under version control.'
-complete -c svn -n '__fish_use_subcommand' -x -a move --description 'Move and/or rename something in working copy or repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a mv --description 'Move and/or rename something in working copy or repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a rename --description 'Move and/or rename something in working copy or repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a ren --description 'Move and/or rename something in working copy or repository.'
-complete -c svn -n '__fish_use_subcommand' -x -a propdel --description 'Remove a property from files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a pdel --description 'Remove a property from files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a pd --description 'Remove a property from files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a propedit --description 'Edit a property with an external editor.'
-complete -c svn -n '__fish_use_subcommand' -x -a pedit --description 'Edit a property with an external editor.'
-complete -c svn -n '__fish_use_subcommand' -x -a pe --description 'Edit a property with an external editor.'
-complete -c svn -n '__fish_use_subcommand' -x -a propget --description 'Print the value of a property on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a pget --description 'Print the value of a property on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a pg --description 'Print the value of a property on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a proplist --description 'List all properties on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a plist --description 'List all properties on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a pl --description 'List all properties on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a propset --description 'Set the value of a property on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a pset --description 'Set the value of a property on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a ps --description 'Set the value of a property on files, dirs, or revisions.'
-complete -c svn -n '__fish_use_subcommand' -x -a resolved --description 'Remove \'conflicted\' state on working copy files or directories.'
-complete -c svn -n '__fish_use_subcommand' -x -a revert --description 'Restore pristine working copy file (undo most local edits).'
-complete -c svn -n '__fish_use_subcommand' -x -a status --description 'Print the status of working copy files and directories.'
-complete -c svn -n '__fish_use_subcommand' -x -a stat --description 'Print the status of working copy files and directories.'
-complete -c svn -n '__fish_use_subcommand' -x -a st --description 'Print the status of working copy files and directories.'
-complete -c svn -n '__fish_use_subcommand' -x -a switch --description 'Update the working copy to a different URL.'
-complete -c svn -n '__fish_use_subcommand' -x -a sw --description 'Update the working copy to a different URL.'
-complete -c svn -n '__fish_use_subcommand' -x -a unlock --description 'Unlock working copy paths or URLs.'
-complete -c svn -n '__fish_use_subcommand' -x -a update --description 'Bring changes from the repository into the working copy.'
-complete -c svn -n '__fish_use_subcommand' -x -a up --description 'Bring changes from the repository into the working copy.'
-
-
-#
-# Completions for the 'add' subcommand
-#
-
-complete -c svn -n 'contains \'add\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'add\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'add\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'add\' (commandline -poc)' -l no-ignore --description 'Disregard default and svn:ignore property ignores'
-complete -c svn -n 'contains \'add\' (commandline -poc)' -l auto-props --description 'Enable automatic properties'
-complete -c svn -n 'contains \'add\' (commandline -poc)' -l no-auto-props --description 'Disable automatic properties'
-
-
-#
-# Completions for the 'blame' subcommand
-#
-
-complete -c svn -n 'contains \'blame\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'blame\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'blame\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'blame\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'blame\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'blame\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'blame\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'blame\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'praise' subcommand
-#
-
-complete -c svn -n 'contains \'praise\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'praise\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'praise\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'praise\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'praise\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'praise\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'praise\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'praise\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'annotate' subcommand
-#
-
-complete -c svn -n 'contains \'annotate\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'annotate\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'annotate\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'annotate\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'annotate\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'annotate\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'annotate\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'annotate\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'ann' subcommand
-#
-
-complete -c svn -n 'contains \'ann\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'ann\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'ann\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'ann\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'ann\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'ann\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'ann\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'ann\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'cat' subcommand
-#
-
-complete -c svn -n 'contains \'cat\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'cat\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'cat\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'cat\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'cat\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'checkout' subcommand
-#
-
-complete -c svn -n 'contains \'checkout\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'checkout\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'checkout\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'checkout\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'checkout\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'checkout\' (commandline -poc)' -l ignore-externals --description 'Ignore externals definitions'
-
-
-#
-# Completions for the 'co' subcommand
-#
-
-complete -c svn -n 'contains \'co\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'co\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'co\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'co\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'co\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'co\' (commandline -poc)' -l ignore-externals --description 'Ignore externals definitions'
-
-
-#
-# Completions for the 'cleanup' subcommand
-#
-
-complete -c svn -n 'contains \'cleanup\' (commandline -poc)' -l diff3-cmd -x --description 'Use ARG as merge command'
-complete -c svn -n 'contains \'cleanup\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'commit' subcommand
-#
-
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l no-unlock --description 'Don\'t unlock the targets'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'commit\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'ci' subcommand
-#
-
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l no-unlock --description 'Don\'t unlock the targets'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'ci\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'copy' subcommand
-#
-
-complete -c svn -n 'contains \'copy\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'copy\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'copy\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'copy\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'copy\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'copy\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'copy\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'copy\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'cp' subcommand
-#
-
-complete -c svn -n 'contains \'cp\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'cp\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'cp\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'cp\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'cp\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'cp\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'cp\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'cp\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'delete' subcommand
-#
-
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'delete\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'del' subcommand
-#
-
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'del\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'remove' subcommand
-#
-
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'remove\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'rm' subcommand
-#
-
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'rm\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'diff' subcommand
-#
-
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l old -x --description 'Use ARG as the older target'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l new -x --description 'Use ARG as the newer target'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l diff-cmd -x --description 'Use ARG as diff command'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l no-diff-deleted --description 'Do not print differences for deleted files'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l notice-ancestry --description 'Notice ancestry when calculating differences'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l summarize --description 'Show a summary of the results'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'diff\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'di' subcommand
-#
-
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l old -x --description 'Use ARG as the older target'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l new -x --description 'Use ARG as the newer target'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l diff-cmd -x --description 'Use ARG as diff command'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l no-diff-deleted --description 'Do not print differences for deleted files'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l notice-ancestry --description 'Notice ancestry when calculating differences'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l summarize --description 'Show a summary of the results'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'di\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'export' subcommand
-#
-
-complete -c svn -n 'contains \'export\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'export\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'export\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'export\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'export\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'export\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'export\' (commandline -poc)' -l native-eol -x --description 'Use a different EOL marker than the standard'
-complete -c svn -n 'contains \'export\' (commandline -poc)' -l ignore-externals --description 'Ignore externals definitions'
-
-
-#
-# Completions for the 'help' subcommand
-#
-
-complete -c svn -n 'contains \'help\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the '?' subcommand
-#
-
-complete -c svn -n 'contains \'?\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'h' subcommand
-#
-
-complete -c svn -n 'contains \'h\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'import' subcommand
-#
-
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l auto-props --description 'Enable automatic properties'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l no-auto-props --description 'Disable automatic properties'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l no-ignore --description 'Disregard default and svn:ignore property ignores'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'import\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'info' subcommand
-#
-
-complete -c svn -n 'contains \'info\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'info\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'info\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'info\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'info\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'info\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'info\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'info\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'list' subcommand
-#
-
-complete -c svn -n 'contains \'list\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'list\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'list\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'list\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'list\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'list\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'list\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'ls' subcommand
-#
-
-complete -c svn -n 'contains \'ls\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'ls\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'ls\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'ls\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'ls\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'ls\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'ls\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'lock' subcommand
-#
-
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'lock\' (commandline -poc)' -l force --description 'Force operation to run'
-
-
-#
-# Completions for the 'log' subcommand
-#
-
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l stop-on-copy --description 'Do not cross copies while traversing history'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'log\' (commandline -poc)' -l limit -x --description 'Maximum number of log entries'
-
-
-#
-# Completions for the 'merge' subcommand
-#
-
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l dry-run --description 'Try operation but make no changes'
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l diff3-cmd -x --description 'Use ARG as merge command'
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l ignore-ancestry --description 'Ignore ancestry when calculating merges'
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'merge\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'mkdir' subcommand
-#
-
-complete -c svn -n 'contains \'mkdir\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'mkdir\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'mkdir\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'mkdir\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'mkdir\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'mkdir\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'mkdir\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'mkdir\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'move' subcommand
-#
-
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'move\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'mv' subcommand
-#
-
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'mv\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'rename' subcommand
-#
-
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'rename\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'ren' subcommand
-#
-
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l force-log --description 'Force validity of log message source'
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'ren\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'propdel' subcommand
-#
-
-complete -c svn -n 'contains \'propdel\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'propdel\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'propdel\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'propdel\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'propdel\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'propdel\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'pdel' subcommand
-#
-
-complete -c svn -n 'contains \'pdel\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'pdel\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'pdel\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'pdel\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'pdel\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'pdel\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'pd' subcommand
-#
-
-complete -c svn -n 'contains \'pd\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'pd\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'pd\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'pd\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'pd\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'pd\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'propedit' subcommand
-#
-
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'propedit\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'pedit' subcommand
-#
-
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'pedit\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'pe' subcommand
-#
-
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l editor-cmd -x --description 'Use ARG as external editor'
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'pe\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'propget' subcommand
-#
-
-complete -c svn -n 'contains \'propget\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'propget\' (commandline -poc)' -l strict --description 'Use strict semantics'
-complete -c svn -n 'contains \'propget\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'propget\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'propget\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'propget\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'propget\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'pget' subcommand
-#
-
-complete -c svn -n 'contains \'pget\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'pget\' (commandline -poc)' -l strict --description 'Use strict semantics'
-complete -c svn -n 'contains \'pget\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'pget\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'pget\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'pget\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'pget\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'pg' subcommand
-#
-
-complete -c svn -n 'contains \'pg\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'pg\' (commandline -poc)' -l strict --description 'Use strict semantics'
-complete -c svn -n 'contains \'pg\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'pg\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'pg\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'pg\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'pg\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'proplist' subcommand
-#
-
-complete -c svn -n 'contains \'proplist\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'proplist\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'proplist\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'proplist\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'proplist\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'proplist\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'plist' subcommand
-#
-
-complete -c svn -n 'contains \'plist\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'plist\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'plist\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'plist\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'plist\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'plist\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'pl' subcommand
-#
-
-complete -c svn -n 'contains \'pl\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'pl\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'pl\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'pl\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'pl\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'pl\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'propset' subcommand
-#
-
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'propset\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'pset' subcommand
-#
-
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'pset\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'ps' subcommand
-#
-
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l encoding -x --description 'Treat value as being in charset encoding ARG'
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l revprop --description 'Operate on a revision property (use with -r)'
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l force --description 'Force operation to run'
-complete -c svn -n 'contains \'ps\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'resolved' subcommand
-#
-
-complete -c svn -n 'contains \'resolved\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'resolved\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'revert' subcommand
-#
-
-complete -c svn -n 'contains \'revert\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'revert\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'status' subcommand
-#
-
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l no-ignore --description 'Disregard default and svn:ignore property ignores'
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'status\' (commandline -poc)' -l ignore-externals --description 'Ignore externals definitions'
-
-
-#
-# Completions for the 'stat' subcommand
-#
-
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l no-ignore --description 'Disregard default and svn:ignore property ignores'
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'stat\' (commandline -poc)' -l ignore-externals --description 'Ignore externals definitions'
-
-
-#
-# Completions for the 'st' subcommand
-#
-
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l no-ignore --description 'Disregard default and svn:ignore property ignores'
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l incremental --description 'Give output suitable for concatenation'
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l xml --description 'Output in XML'
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'st\' (commandline -poc)' -l ignore-externals --description 'Ignore externals definitions'
-
-
-#
-# Completions for the 'switch' subcommand
-#
-
-complete -c svn -n 'contains \'switch\' (commandline -poc)' -l diff3-cmd -x --description 'Use ARG as merge command'
-complete -c svn -n 'contains \'switch\' (commandline -poc)' -l relocate --description 'Relocate via URL-rewriting'
-complete -c svn -n 'contains \'switch\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'switch\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'switch\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'switch\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'switch\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'sw' subcommand
-#
-
-complete -c svn -n 'contains \'sw\' (commandline -poc)' -l diff3-cmd -x --description 'Use ARG as merge command'
-complete -c svn -n 'contains \'sw\' (commandline -poc)' -l relocate --description 'Relocate via URL-rewriting'
-complete -c svn -n 'contains \'sw\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'sw\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'sw\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'sw\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'sw\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-
-
-#
-# Completions for the 'unlock' subcommand
-#
-
-complete -c svn -n 'contains \'unlock\' (commandline -poc)' -l targets -x --description 'Pass contents of file ARG as additional args'
-complete -c svn -n 'contains \'unlock\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'unlock\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'unlock\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'unlock\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'unlock\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'unlock\' (commandline -poc)' -l force --description 'Force operation to run'
-
-
-#
-# Completions for the 'update' subcommand
-#
-
-complete -c svn -n 'contains \'update\' (commandline -poc)' -l diff3-cmd -x --description 'Use ARG as merge command'
-complete -c svn -n 'contains \'update\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'update\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'update\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'update\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'update\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'update\' (commandline -poc)' -l ignore-externals --description 'Ignore externals definitions'
-
-
-#
-# Completions for the 'up' subcommand
-#
-
-complete -c svn -n 'contains \'up\' (commandline -poc)' -l diff3-cmd -x --description 'Use ARG as merge command'
-complete -c svn -n 'contains \'up\' (commandline -poc)' -l username -x --description 'Specify a username ARG'
-complete -c svn -n 'contains \'up\' (commandline -poc)' -l password -x --description 'Specify a password ARG'
-complete -c svn -n 'contains \'up\' (commandline -poc)' -l no-auth-cache --description 'Do not cache authentication tokens'
-complete -c svn -n 'contains \'up\' (commandline -poc)' -l non-interactive --description 'Do no interactive prompting'
-complete -c svn -n 'contains \'up\' (commandline -poc)' -l config-dir -x --description 'Read user configuration files from directory ARG'
-complete -c svn -n 'contains \'up\' (commandline -poc)' -l ignore-externals --description 'Ignore externals definitions'
-
-
-
+__fish_complete_svn svn
diff --git a/share/completions/tail.fish b/share/completions/tail.fish
new file mode 100644
index 00000000..0c774663
--- /dev/null
+++ b/share/completions/tail.fish
@@ -0,0 +1,12 @@
+complete -c tail -s c -l bytes -x -d 'output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file'
+complete -c tail -s f -l follow -xa 'name descriptor' -d 'output appended data as the file grows; -f -l follow, and --follow=descriptor are equivalent'
+complete -c tail -s F -d 'same as --follow=name --retry'
+complete -c tail -s n -l lines -x -d 'output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth'
+complete -c tail -l max-unchanged-stats -x -d 'with --follow=name, reopen a FILE which has not changed size after N iterations'
+complete -c tail -l pid -d 'with -f, terminate after process ID, PID dies' -xa '(__fish_complete_pids)'
+complete -c tail -s q -l quiet -l silent -d 'never output headers giving file names'
+complete -c tail -l retry -d 'keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name'
+complete -c tail -s s -l sleep-interval -x -d 'with -f, sleep for approximately N seconds (default 1.0) between iterations'
+complete -c tail -s v -l verbose -d 'always output headers giving file names'
+complete -c tail -l help -d 'display this help and exit'
+complete -c tail -l version -d 'output version information and exit'
diff --git a/share/completions/tee.fish b/share/completions/tee.fish
new file mode 100644
index 00000000..5224a6d6
--- /dev/null
+++ b/share/completions/tee.fish
@@ -0,0 +1,4 @@
+complete -c tee -s a -l append -d 'append to the given FILEs, do not overwrite'
+complete -c tee -s i -l ignore-interrupts -d 'ignore interrupt signals'
+complete -c tee -l help -d 'display this help and exit'
+complete -c tee -l version -d 'output version information and exit'
diff --git a/share/completions/tmux.fish b/share/completions/tmux.fish
new file mode 100644
index 00000000..ba956fdc
--- /dev/null
+++ b/share/completions/tmux.fish
@@ -0,0 +1,13 @@
+complete -c tmux -d 'Terminal multiplexer' -a 'attach'
+complete -c tmux -s 2 -d 'Force tmux to assume the terminal supports 256 colours'
+complete -c tmux -s 8 -d 'Like -2, but indicates that the terminal supports 88 colours'
+complete -c tmux -s c -r -d 'Execute shell-command using the default shell'
+complete -c tmux -s f -r -d 'Specify an alternative configuration file'
+complete -c tmux -s L -x -d 'Specify the socket'
+complete -c tmux -s l -d 'Behave as a login shell'
+complete -c tmux -s q -d 'Set the quiet server option'
+complete -c tmux -s S -r -d 'Specify a full alternative path to the server socket'
+complete -c tmux -s u -d 'Flag explicitly informs tmux that UTF-8 is supported'
+complete -c tmux -s v -d 'Request verbose logging'
+complete -c tmux -s V -d 'Report the tmux version'
+complete -c tmux -d "Complete subcommand" -x -a "(__fish_complete_subcommand -c -f -L -S)"
diff --git a/share/completions/tr.fish b/share/completions/tr.fish
new file mode 100644
index 00000000..56aaccb8
--- /dev/null
+++ b/share/completions/tr.fish
@@ -0,0 +1,20 @@
+complete -c tr -x
+complete -c tr -s c -s C -l complement -d 'use the complement of SET1'
+complete -c tr -s d -l delete -d 'delete characters in SET1, do not translate'
+complete -c tr -s s -l squeeze-repeats -d 'replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character'
+complete -c tr -s t -l truncate-set1 -d 'first truncate SET1 to length of SET2'
+complete -c tr -l help -d 'display this help and exit'
+complete -c tr -l version -d 'output version information and exit'
+
+complete -c tr -a '[:alnum:]' -d 'all letters and digits'
+complete -c tr -a '[:alpha:]' -d 'all letters'
+complete -c tr -a '[:blank:]' -d 'all horizontal whitespace'
+complete -c tr -a '[:cntrl:]' -d 'all control characters'
+complete -c tr -a '[:digit:]' -d 'all digits'
+complete -c tr -a '[:graph:]' -d 'all printable characters, not including space'
+complete -c tr -a '[:lower:]' -d 'all lower case letters'
+complete -c tr -a '[:print:]' -d 'all printable characters, including space'
+complete -c tr -a '[:punct:]' -d 'all punctuation characters'
+complete -c tr -a '[:space:]' -d 'all horizontal or vertical whitespace'
+complete -c tr -a '[:upper:]' -d 'all upper case letters'
+complete -c tr -a '[:xdigit:]' -d 'all hexadecimal digits'
diff --git a/share/completions/tree.fish b/share/completions/tree.fish
new file mode 100644
index 00000000..919e9938
--- /dev/null
+++ b/share/completions/tree.fish
@@ -0,0 +1,58 @@
+
+
+## Listing options
+complete -c tree -s a -d 'All files are listed'
+complete -c tree -s d -d 'List directories only'
+complete -c tree -s l -d 'Follow symbolic links like directories'
+complete -c tree -s f -d 'Print the full path prefix for each file'
+complete -c tree -s x -d 'Stay on current filesystem only'
+complete -c tree -s L -x -d 'Descend only level directories deep'
+complete -c tree -s R -d 'Rerun tree when max dir level reached'
+complete -c tree -s P -r -d 'List only those files that match the pattern given'
+complete -c tree -s I -r -d 'Do not list files that match the given pattern'
+complete -c tree -l noreport -d 'Turn off file/directory count at end of tree listing'
+complete -c tree -l charset -x -d 'Use charset X for terminal/HTML and indentation line output'
+complete -c tree -l filelimit -r -d 'Do not descend dirs with more than # files in them'
+complete -c tree -l timefmt -x -d 'Print and format time according to the format <f>'
+complete -c tree -s o -r -d 'Output to file instead of stdout'
+
+## File options
+complete -c tree -s q -d 'Print non-printable characters as \'?\''
+complete -c tree -s N -d 'Print non-printable characters as is'
+complete -c tree -s Q -d 'Quote filenames with double quotes'
+complete -c tree -s p -d 'Print the protections for each file'
+complete -c tree -s u -d 'Displays file owner or UID number'
+complete -c tree -s g -d 'Displays file group owner or GID number'
+complete -c tree -s s -d 'Print the size in bytes of each file'
+complete -c tree -s h -d 'Print the size in a more human readable way'
+complete -c tree -l si -d 'Like -h, but use in SI units (powers of 1000)'
+complete -c tree -s D -d 'Print the date of last modification or (-c) status change'
+complete -c tree -s F -d 'Appends \'/\', \'=\', \'*\', \'@\', \'|\' or \'>\' as per ls -F'
+complete -c tree -l inodes -d 'Print inode number of each file'
+complete -c tree -l device -d 'Print device ID number to which each file belongs'
+
+
+## Sorting options
+complete -c tree -s v -d 'Sort files alphanumerically by version'
+complete -c tree -s r -d 'Sort files in reverse alphanumeric order'
+complete -c tree -s t -d 'Sort files by last modification time'
+complete -c tree -s c -d 'Sort files by last status change time'
+complete -c tree -s U -d 'Leave files unsorted'
+complete -c tree -l dirsfirst -d 'List directories before files (-U disables)'
+
+## Graphics options
+complete -c tree -s i -d 'Don\'t print indentation lines'
+complete -c tree -s A -d 'Print ANSI lines graphic indentation lines'
+complete -c tree -s S -d 'Print with ASCII graphics indentation lines'
+complete -c tree -s n -d 'Turn colorization off always (-C overrides)'
+complete -c tree -s C -d 'Turn colorization on always'
+
+## XML/HTML options
+complete -c tree -s X -d 'Prints out an XML representation of the tree'
+complete -c tree -s H -r -d 'Prints out HTML format with baseHREF as top directory'
+complete -c tree -s T -r -d 'Replace the default HTML title and H1 header with string'
+complete -c tree -l nolinks -d 'Turn off hyperlinks in HTML output'
+
+## Miscellaneous options
+complete -c tree -l version -d 'Print version and exit'
+complete -c tree -l help -d 'Print usage and this help message and exit'
diff --git a/share/completions/umount.fish b/share/completions/umount.fish
index 8d799549..85929fb8 100644
--- a/share/completions/umount.fish
+++ b/share/completions/umount.fish
@@ -5,7 +5,7 @@
#
# Find all mountpoints
#
-complete -c umount --description "Mount point" -x -a '(cat /etc/mtab | cut -d " " -f 1-2|tr " " \n|sed -e "s/[0-9\.]*:\//\//"|sgrep "^/")'
+complete -c umount --description "Mount point" -x -a '(__fish_print_mounted)'
complete -c umount -s V --description "Display version and exit"
complete -c umount -s h --description "Display help and exit"
diff --git a/share/completions/unexpand.fish b/share/completions/unexpand.fish
new file mode 100644
index 00000000..2b59db4e
--- /dev/null
+++ b/share/completions/unexpand.fish
@@ -0,0 +1,6 @@
+complete -c unexpand -s a -l all -d 'convert all blanks, instead of just initial blanks'
+complete -c unexpand -l first-only -d 'convert only leading sequences of blanks (overrides -a)'
+complete -c unexpand -s t -l tabs -x -d 'have tabs N characters apart instead of 8 (enables -a)'
+complete -c unexpand -s t -l tabs -x -d 'use comma separated LIST of tab positions (enables -a)'
+complete -c unexpand -l help -d 'display this help and exit'
+complete -c unexpand -l version -d 'output version information and exit'
diff --git a/share/completions/valgrind.fish b/share/completions/valgrind.fish
index f4a11026..6ef855bc 100644
--- a/share/completions/valgrind.fish
+++ b/share/completions/valgrind.fish
@@ -1,12 +1,12 @@
-
+set -l skin
if valgrind --version | sgrep -- '-2\.[012]\.' >/dev/null ^/dev/null
# In older versions of Valgrind, the skin selection option was
# '--skin'
- set -g skin skin
+ set skin skin
else
# But someone decided that it would be fun to change this to
# '--tool' for no good reason
- set -g skin tool
+ set skin tool
end
complete -xc valgrind -l $skin --description "Skin" -a "
@@ -17,9 +17,16 @@ complete -xc valgrind -l $skin --description "Skin" -a "
massif\tHeap\ profiler
"
-eval "function __fish_valgrind_skin; contains -- --$skin=\$argv (commandline -cpo);end"
-
-set -e $skin
+eval "
+function __fish_valgrind_skin --argument tool
+ set -l cmd (commandline -cpo)
+ if contains -- --$skin=\$tool \$cmd
+ return 0
+ end
+ test \$tool = memcheck
+ and echo \$cmd | grep -qve $skin
+end
+"
complete -c valgrind -l help --description "Display help and exit"
complete -c valgrind -l help-debug --description "Display help and debug options"
diff --git a/share/completions/vimdiff.fish b/share/completions/vimdiff.fish
new file mode 100644
index 00000000..bf67fde3
--- /dev/null
+++ b/share/completions/vimdiff.fish
@@ -0,0 +1,3 @@
+# completion for vimdiff
+
+__fish_complete_vi vimdiff
diff --git a/share/completions/wicd-cli.fish b/share/completions/wicd-cli.fish
new file mode 100644
index 00000000..245f2e73
--- /dev/null
+++ b/share/completions/wicd-cli.fish
@@ -0,0 +1,17 @@
+complete -c wicd-cli -s h -l help -d 'Print help and exit'
+complete -c wicd-cli -s S -l scan -d 'Scan for networks'
+complete -c wicd-cli -s l -l list-networks -d 'List networks'
+complete -c wicd-cli -s d -l network-details -d 'Show network details'
+complete -c wicd-cli -s x -l disconnect -d 'Disconnect'
+complete -c wicd-cli -s c -l connect -d 'Connect'
+complete -c wicd-cli -s e -l list-encryption-types -d 'List encription types'
+complete -c wicd-cli -s y -l wireless -d 'Perform operation on wireless network'
+complete -c wicd-cli -s z -l wired -d 'Perform operation on wired network'
+complete -c wicd-cli -s w -l save -d 'Save profile'
+complete -c wicd-cli -s o -l load-profile -d 'Load profile'
+complete -c wicd-cli -s m -l name -d 'Set name for profile to save/load' #-xa '(wicd-cli -zl | sed "/^#/d; s/\S\+\s\+\(\S\+\)/\1/")'
+#complete -c wicd-cli -n '__fish_contains_opt wireless -s y' -s n -l network -xa '(wicd-cli -ySl | sed "/^#/d; s/\(\S\+\)\s\+\S\+\s\+\(\S\+\)\s\+\(.\+\)/\1\t\3, \2/")'
+#complete -c wicd-cli -n '__fish_contains_opt wired -s z' -s n -l network -xa '(wicd-cli -zl | grep -v "^#")'
+complete -c wicd-cli -s p -l network-property -r -d 'Get or set network property'
+complete -c wicd-cli -s s -l set-to -r -d 'Set network property to'
+complete -c wicd-cli -s n -l network -d 'Set the network'
diff --git a/share/completions/wicd-client.fish b/share/completions/wicd-client.fish
new file mode 100644
index 00000000..b439f360
--- /dev/null
+++ b/share/completions/wicd-client.fish
@@ -0,0 +1,6 @@
+complete -c wicd-client -s t -l tray -d 'Run the wicd tray icon only.'
+complete -c wicd-client -s n -l no-tray -d 'Run wicd without the tray icon.'
+complete -c wicd-client -s h -l help -d 'Print this help information.'
+complete -c wicd-client -s a -l no-animate -d 'Run the tray without network traffic tray animations.'
+complete -c wicd-client -s o -l only-notifications -d 'Don\'t display anything except notifications.'
+
diff --git a/share/completions/wicd-gtk.fish b/share/completions/wicd-gtk.fish
new file mode 100644
index 00000000..488f8490
--- /dev/null
+++ b/share/completions/wicd-gtk.fish
@@ -0,0 +1,6 @@
+complete -c wicd-gtk -s t -l tray -d 'Run the wicd tray icon only.'
+complete -c wicd-gtk -s n -l no-tray -d 'Run wicd without the tray icon.'
+complete -c wicd-gtk -s h -l help -d 'Print this help information.'
+complete -c wicd-gtk -s a -l no-animate -d 'Run the tray without network traffic tray animations.'
+complete -c wicd-gtk -s o -l only-notifications -d 'Don\'t display anything except notifications.'
+
diff --git a/share/completions/wvdial.fish b/share/completions/wvdial.fish
index eb7320ca..1e33faac 100644
--- a/share/completions/wvdial.fish
+++ b/share/completions/wvdial.fish
@@ -1 +1,4 @@
-complete -x -c wvdial -a "(cat ~/.wvdialrc | grep '\[Dialer' | sed 's/\[Dialer \(.\+\)\]/\1/')" --description "wvdial connections"
+complete -c wvdial -xa "(__fish_complete_wvdial_peers)" --description "wvdial connections"
+complete -c wvdial -s c -l chat -d 'Run wvdial as chat replacement from within pppd'
+complete -c wvdial -s C -l config -r -d 'Run wvdial with alternative config file'
+complete -c wvdial -s n -l no-syslog -d 'Don\'t output debug information'
diff --git a/share/completions/xdg-mime.fish b/share/completions/xdg-mime.fish
new file mode 100644
index 00000000..13ff942c
--- /dev/null
+++ b/share/completions/xdg-mime.fish
@@ -0,0 +1,32 @@
+
+# main completion
+complete -c xdg-mime -n 'not __fish_seen_subcommand_from query default install uninstall' -xa 'query default install uninstall'
+
+# complete xdg-mime query
+complete -c xdg-mime -n '__fish_seen_subcommand_from query; and not __fish_seen_subcommand_from filetype default' -xa 'filetype default' -d 'Query information'
+
+# complete xdg-mime query default
+complete -c xdg-mime -d 'Query default application for type' -n 'contains_seq query default -- (commandline -cop)' -xa '(__fish_print_xdg_mimetypes)'
+
+# complete xdg-mime query filetype
+complete -c xdg-mime -d 'Query file\'s filetype' -n 'contains_seq query filetype -- (commandline -cop)' -r
+
+# complete xdg-mime default
+complete -c xdg-mime -d 'Choose application' -n '__fish_seen_subcommand_from default; and __fish_is_token_n 3' -xa '(__fish_print_xdg_mimeapps)'
+complete -c xdg-mime -d 'Mimetype' -n '__fish_seen_subcommand_from default; and __fish_is_token_n 4' -xa '(__fish_print_xdg_mimetypes)'
+
+# complete xdg-mime install
+complete -c xdg-mime -d 'Add filetype description' -n 'contains_seq xdg-mime install -- (commandline -cop)' -r
+complete -c xdg-mime -d 'Set mode' -n 'contains_seq xdg-mime install -- (commandline -cop)' -l mode -xa 'user system'
+complete -c xdg-mime -d 'Disable vendor check' -n 'contains_seq xdg-mime install -- (commandline -cop)' -l novendor
+
+# complete xdg-mime uninstall
+complete -c xdg-mime -d 'Remove filetype description' -n 'contains_seq xdg-mime uninstall -- (commandline -cop)' -r
+complete -c xdg-mime -d 'Set mode' -n 'contains_seq xdg-mime uninstall -- (commandline -cop)' -l mode -xa 'user system'
+
+#complete -c xdg-mime install [--mode mode] [--novendor] mimetypes-file
+#complete -c xdg-mime uninstall [--mode mode] mimetypes-file
+complete -c xdg-mime -l help -d 'Display help'
+complete -c xdg-mime -l manual -d 'Diplay long help'
+complete -c xdg-mime -l version -d 'Print version'
+
diff --git a/share/completions/xrandr.fish b/share/completions/xrandr.fish
new file mode 100644
index 00000000..a49fd2b4
--- /dev/null
+++ b/share/completions/xrandr.fish
@@ -0,0 +1,61 @@
+complete -c xrandr -l verbose -d 'Be more verbose'
+complete -c xrandr -l dryrun -d 'Make no changes'
+complete -c xrandr -l nograb -d 'Apply modifications without grabbing the screen'
+complete -c xrandr -o help -d 'Print out a summary of the usage and exit'
+complete -c xrandr -s v -l version -d 'Print out the RandR version reported by the X server and exit'
+complete -c xrandr -s q -l query -d 'Display the current state of the system'
+complete -c xrandr -s d -o display -d 'Select X display to use' -x
+complete -c xrandr -l screen -d 'Select which screen to manipulate' -x
+complete -c xrandr -l q1 -d 'Use RandR version 1.1 protocol'
+complete -c xrandr -l q12 -d 'Use RandR version 1.2 protocol'
+
+set -l ver (xrandr -v | grep RandR | sed 's/^.\+\s\([0-9\.]\+\)$/\1/')
+if not expr match $ver '^[0-9.]*$' >/dev/null
+ set ver 10
+end
+
+# Version 1.1 options
+complete -c xrandr -s s -l size -d 'Set the screen size (index or width x height)' -x
+complete -c xrandr -s r -l rate -l refresh -d 'Set the refresh rate closest to the specified value' -x
+complete -c xrandr -s o -l orientation -d 'Specify the orientation of the screen' -xa 'normal inverted left right'
+complete -c xrandr -s x -d 'Reflect across the X axis'
+complete -c xrandr -s y -d 'Reflect across the Y axis'
+
+if expr $ver '>' 1.1
+ complete -c xrandr -l prop -l properties -d 'Display the contents of properties for each output'
+ complete -c xrandr -l fb -d 'Set screen size' -x
+ complete -c xrandr -l fbmm -d 'Set reported physical screen size' -x
+ complete -c xrandr -l dpi -d 'Set dpi to calculate reported physical screen size'
+ complete -c xrandr -l newmode -d 'Add new mode' -r
+ complete -c xrandr -l rmmode -d 'Removes a mode from the server' -xa '(__fish_print_xrandr_modes)'
+ complete -c xrandr -l addmode -d 'Add a mode to the set of valid modes for an output' -xa '(__fish_print_xrandr_outputs)'
+ complete -c xrandr -l delmode -d 'Remove a mode from the set of valid modes for an output' -xa '(__fish_print_xrandr_outputs)'
+ complete -c xrandr -l output -d 'Selects an output to reconfigure' -xa '(__fish_print_xrandr_outputs)'
+ complete -c xrandr -l auto -d 'Enable connected but disabled outputs'
+ complete -c xrandr -l mode -d 'This selects a mode' -xa '(__fish_print_xrandr_modes)'
+ complete -c xrandr -l preferred -d 'Select the same mode as --auto, but it do not automatically enable or disable the output'
+ complete -c xrandr -l pos -d 'Set output position within the secreen in pixels' -x
+ complete -c xrandr -l rate -d 'Set refresh rate' -x
+ complete -c xrandr -l reflect -d 'Set reflection' -xa 'normal x y xy'
+ complete -c xrandr -l rotate -d 'Set rotation' -xa 'normal left right inverted'
+ complete -c xrandr -l left-of -d 'Set position relative to the output' -xa '(__fish_print_xrandr_outputs)'
+ complete -c xrandr -l right-of -d 'Set position relative to the output' -xa '(__fish_print_xrandr_outputs)'
+ complete -c xrandr -l above -d 'Set position relative to the output' -xa '(__fish_print_xrandr_outputs)'
+ complete -c xrandr -l below -d 'Set position relative to the output' -xa '(__fish_print_xrandr_outputs)'
+ complete -c xrandr -l same-as -d 'Set position relative to the output' -xa '(__fish_print_xrandr_outputs)'
+ complete -c xrandr -l set -d 'Set the property value: --set <prop> <value>' -x
+ complete -c xrandr -l off -d 'Disables the output'
+ complete -c xrandr -l crtc -d 'Set the crtc' -x
+ complete -c xrandr -l gamma -d 'Set gamma correction [red:green:blue]' -x
+ complete -c xrandr -l brightness -d 'Set brightness. Multiplies gamma galues by brightness value'
+end
+
+if expr $ver '>' 1.2
+ complete -c xrandr -l noprimary -d 'Don\'t define a primary output.'
+ complete -c xrandr -l current -d 'Print current screen configuration'
+ complete -c xrandr -l panning -d 'Set panning: widthxheight[+x+y[/track_widthxtrack_height+track_x+track_y[/border_left/border_top/border_right/border_bottom]]]' -x
+ complete -c xrandr -l transform -d 'Set transformation matrix: a,b,c,d,e,f,g,h,i for [ [a,b,c], [d,e,f], [g,h,i] ]' -x
+ complete -c xrandr -l scale -d 'Set scren scale' -x
+ complete -c xrandr -l primary -d 'Set the output as primary'
+end
+
diff --git a/share/completions/xrdb.fish b/share/completions/xrdb.fish
new file mode 100644
index 00000000..bddafb5f
--- /dev/null
+++ b/share/completions/xrdb.fish
@@ -0,0 +1,21 @@
+complete -c xrdb -o display -d 'display to use'
+complete -c xrdb -o all -d 'do all resources [default]'
+complete -c xrdb -o global -d 'do screen-independent resources'
+complete -c xrdb -o screen -d 'do screen-specific resources for one screen'
+complete -c xrdb -o screens -d 'do screen-specific resources for all screens'
+complete -c xrdb -o n -d 'show but don\'t do changes'
+complete -c xrdb -o cpp -r -d 'preprocessor to use [/usr/bin/mcpp]'
+complete -c xrdb -o nocpp -d 'do not use a preprocessor'
+complete -c xrdb -o query -d 'query resources'
+complete -c xrdb -o load -d 'load resources from file [default]'
+complete -c xrdb -o override -d 'add in resources from file'
+complete -c xrdb -o merge -d 'merge resources from file & sort'
+complete -c xrdb -o edit -r -d 'edit resources into file'
+complete -c xrdb -o backup -x -d 'backup suffix for -edit [.bak]'
+complete -c xrdb -o symbols -d 'show preprocessor symbols'
+complete -c xrdb -o remove -d 'remove resources'
+complete -c xrdb -o retain -d 'avoid server reset (avoid using this)'
+complete -c xrdb -o quiet -d 'don\'t warn about duplicates'
+#complete -c xrdb -s Dname[=value],
+#complete -c xrdb -s Uname,
+#complete -c xrdb -s Idirectory -d 'passed to preprocessor'
diff --git a/share/completions/yaourt.fish b/share/completions/yaourt.fish
new file mode 100644
index 00000000..aece613f
--- /dev/null
+++ b/share/completions/yaourt.fish
@@ -0,0 +1,3 @@
+
+__fish_complete_pacman yaourt
+
diff --git a/share/functions/__fish_bind_test1.fish b/share/functions/__fish_bind_test1.fish
index b4380c18..7659f5f4 100644
--- a/share/functions/__fish_bind_test1.fish
+++ b/share/functions/__fish_bind_test1.fish
@@ -1,27 +1,25 @@
function __fish_bind_test1
+ set -l args
+ set -l use_keys no
+ for i in (commandline -poc)
+ switch $i
+ case -k --k --ke --key
+ set use_keys yes
-set -l args
-set -l use_keys no
-for i in (commandline -poc)
- switch $i
- case -k --k --ke --key
- set use_keys yes
+ case "-*"
- case "-*"
-
- case "*"
- set args $args $i
- end
-end
-
-switch $use_keys
- case yes
- switch (count $args)
- case 1
- return 0
- end
-end
-return 1
+ case "*"
+ set args $args $i
+ end
+ end
+ switch $use_keys
+ case yes
+ switch (count $args)
+ case 1
+ return 0
+ end
+ end
+ return 1
end
diff --git a/share/functions/__fish_commandline_test.fish b/share/functions/__fish_commandline_test.fish
index a32512cf..a7e5e00b 100644
--- a/share/functions/__fish_commandline_test.fish
+++ b/share/functions/__fish_commandline_test.fish
@@ -1,23 +1,23 @@
function __fish_commandline_test
-set -l is_function no
-for i in (commandline -poc)
- switch $i
- case -f --f --fu --fun --func --funct --functi --functio --function
- set is_function yes
+ set -l is_function no
+ for i in (commandline -poc)
+ switch $i
+ case -f --f --fu --fun --func --funct --functi --functio --function
+ set is_function yes
- case --
- break
+ case --
+ break
- end
-end
+ end
+ end
-switch $is_function
- case yes
- return 0
-end
-return 1
+ switch $is_function
+ case yes
+ return 0
+ end
+ return 1
end
diff --git a/share/functions/__fish_complete_abook_formats.fish b/share/functions/__fish_complete_abook_formats.fish
new file mode 100644
index 00000000..b1c03fd6
--- /dev/null
+++ b/share/functions/__fish_complete_abook_formats.fish
@@ -0,0 +1,13 @@
+function __fish_complete_abook_formats --description 'Complete abook formats'
+ set -l pat
+ switch $argv[1]
+ case in
+ set pat '/output:/,$d; /input:\|^$/d'
+ case out
+ set pat '/input:/,/output:/d; /^$/d'
+ case '*'
+ return 1
+ end
+ abook --formats | sed -e $pat -e 's/^\s\+//'
+
+end
diff --git a/share/functions/__fish_complete_atool.fish b/share/functions/__fish_complete_atool.fish
new file mode 100644
index 00000000..62f6dd05
--- /dev/null
+++ b/share/functions/__fish_complete_atool.fish
@@ -0,0 +1,37 @@
+function __fish_complete_atool --description 'Complete atool' --argument-names cmd
+ complete -c $cmd -r -d 'Manage file archives of various types'
+
+ ##Commands:
+ complete -c $cmd -s l -l list -d 'list files in archive (als)'
+ complete -c $cmd -s x -l extract -d 'extract files from archive (aunpack)'
+ complete -c $cmd -s X -l extract-to -r -d 'extract archive to specified directory'
+ complete -c $cmd -s a -l add -d 'create archive (apack)'
+ complete -c $cmd -s c -l cat -d 'extract file to standard out (acat)'
+ complete -c $cmd -s d -l diff -d 'generate a diff between two archives (adiff)'
+ complete -c $cmd -s r -l repack -d 'repack archives to a different format (arepack)'
+ complete -c $cmd -l help -d 'display this help and exit'
+ complete -c $cmd -l version -d 'output version information and exit'
+
+ ##Options:
+ complete -c $cmd -s e -l each -d 'execute command above for each file specified'
+ complete -c $cmd -s F -l format -d 'override archive format (see below)' -xa "(man atool | sgrep -E '^\s+(\S+)\s+\(\..+\)' | sed -r 's/\s+(\S+)\s+\((.+)\)/\1\t\2/')"
+ complete -c $cmd -s O -l format-option -x -d 'give specific options to the archiver'
+ complete -c $cmd -s D -l subdir -d 'always create subdirectory when extracting'
+ complete -c $cmd -s f -l force -d 'allow overwriting of local files'
+ complete -c $cmd -s q -l quiet -d 'decrease verbosity level by one'
+ complete -c $cmd -s v -l verbose -d 'increase verbosity level by one'
+ complete -c $cmd -s V -l verbosity -d 'specify verbosity (0, 1 or 2)' -xa '(seq 0 2)'
+ complete -c $cmd -s p -l page -d 'send output through pager'
+ complete -c $cmd -s 0 -l null -d 'filenames from standard in are null-byte separated'
+ complete -c $cmd -s E -l explain -d 'explain what is being done by atool'
+ complete -c $cmd -s S -l simulate -d 'simulation mode - no filesystem changes are made'
+ complete -c $cmd -s o -l option -x -d 'override a configuration optioni (KEY=VALUE)'
+ complete -c $cmd -l config -r -d 'load configuration defaults from file'
+
+ switch $cmd
+ case als aunpack acat
+ complete -c $cmd -a '(__fish_complete_atool_archive_contents)' -d 'Achive content'
+ end
+ #man -P cat atool | grep '(default')'
+
+end
diff --git a/share/functions/__fish_complete_atool_archive_contents.fish b/share/functions/__fish_complete_atool_archive_contents.fish
new file mode 100644
index 00000000..dcc062f6
--- /dev/null
+++ b/share/functions/__fish_complete_atool_archive_contents.fish
@@ -0,0 +1,20 @@
+function __fish_complete_atool_archive_contents --description 'List archive contents'
+ set -l cmd (commandline -cop)
+ set -e cmd[1]
+ set -l file
+ for arg in $cmd
+ switch $arg
+ case '-*'
+ case '*'
+ if test -f $arg
+ set file $arg
+ break
+ end
+ end
+ end
+ if not set -q file[1]
+ return
+ end
+ als $file -qq | sed -r 's/^\s*[0-9]+\s+[0-9-]+\s+[0-9:]+\s+(.*)$/\1/'
+
+end
diff --git a/share/functions/__fish_complete_command.fish b/share/functions/__fish_complete_command.fish
index 6f8fd007..8dc1d311 100644
--- a/share/functions/__fish_complete_command.fish
+++ b/share/functions/__fish_complete_command.fish
@@ -1,4 +1,10 @@
-
-function __fish_complete_command --description "Complete using all available commands"
- printf "%s\n" (commandline -ct)(complete -C (commandline -ct))
+function __fish_complete_command --description 'Complete using all available commands'
+ set -l ctoken (commandline -ct)
+ switch $ctoken
+ case '*=*'
+ set ctoken (echo $ctoken | sed 's/=/\n/')
+ printf '%s\n' $ctoken[1]=(complete -C$ctoken[2])
+ case '*'
+ complete -C$ctoken
+ end
end
diff --git a/share/functions/__fish_complete_convert_options.fish b/share/functions/__fish_complete_convert_options.fish
new file mode 100644
index 00000000..3437cc70
--- /dev/null
+++ b/share/functions/__fish_complete_convert_options.fish
@@ -0,0 +1,16 @@
+function __fish_complete_convert_options --description 'Complete Convert options' --argument what
+ switch $what
+ case format Format
+ convert -list Format | sed '1,/----/d; /^$/,$d; /^$/d; s/^\s*\([a-zA-Z0-9-]\+\)\**\s*\S\+\s\+\\(\S\+\)\s\+\(.\+\S\)\s*$/\1\t\2 \3/'
+ case color Color
+ convert -list color | awk '{ print $1"\t"$2" "$3} ' | sed '1,/----/d'
+ case family
+ convert -list Font | grep family | sed 's/^\s*.\+: //' | sort -u
+ case font Font
+ convert -list Font | grep Font | sed 's/^\s*.\+: //' | sort -u
+ case '*'
+ convert -list $what
+ end
+
+
+end
diff --git a/share/functions/__fish_complete_diff.fish b/share/functions/__fish_complete_diff.fish
new file mode 100644
index 00000000..1ca64978
--- /dev/null
+++ b/share/functions/__fish_complete_diff.fish
@@ -0,0 +1,28 @@
+
+function __fish_complete_diff -d 'Complete diff/colordiff' --argument-names diff
+ complete -c $diff -s i -l ignore-case --description "Ignore case differences"
+ complete -c $diff -l ignore-file-name-case --description "Ignore case when comparing file names"
+ complete -c $diff -l no-ignore-file-name-case --description "Consider case when comparing file names"
+ complete -c $diff -s E -l ignore-tab-expansion --description "Ignore changes due to tab expansion"
+ complete -c $diff -s b -l ignore-space-change --description "Ignore changes in the amount of white space"
+ complete -c $diff -s w -l ignore-all-space --description "Ignore all white space"
+ complete -c $diff -s B -l ignore-blank-lines --description "Ignore changes whose lines are all blank"
+ complete -c $diff -s I -l ignore-matching-lines -x --description "Ignore changes whose lines match the REGEX"
+ complete -c $diff -s a -l text --description "Treat all files as text"
+ complete -c $diff -s r -l recursive --description "Recursively compare subdirectories"
+ complete -c $diff -s N -l new-file --description "Treat absent files as empty"
+ complete -c $diff -s C -l context -x --description "Output NUM lines of copied context"
+ complete -c $diff -s c --description "Output 3 lines of copied context"
+ complete -c $diff -s U -l unified -x --description "Output NUM lines of unified context"
+ complete -c $diff -s u --description "Output 3 lines of unified context"
+ complete -c $diff -s q -l brief --description "Output only whether the files differ"
+ complete -c $diff -l normal --description "Output a normal diff"
+ complete -c $diff -s y -l side-by-side --description "Output in two columns"
+ complete -c $diff -s W -l width -x --description "Output at most NUM print columns"
+ complete -c $diff -s d -l minimal --description "Try to find a smaller set of changes"
+ complete -c $diff -l from-file -r --description "Compare FILE1 to all operands"
+ complete -c $diff -l to-file -r --description "Compare FILE2 to all operands"
+ complete -c $diff -s l -l paginate --description "Pass the output through 'pr'"
+ complete -c $diff -s v -l version --description "Display version and exit"
+ complete -c $diff -l help --description "Display help and exit"
+end
diff --git a/share/functions/__fish_complete_list.fish b/share/functions/__fish_complete_list.fish
new file mode 100644
index 00000000..e9a97bb7
--- /dev/null
+++ b/share/functions/__fish_complete_list.fish
@@ -0,0 +1,30 @@
+function __fish_complete_list --argument div cmd prefix iprefix
+ if not set -q cmd[1]
+ echo "Usage:
+ __fish_complete_list <separator> <function> <prefix> <itemprefix>
+where:
+ separator - a symbol, separating individual entries
+ function - a function which prints a completion list to complete each entry
+ prefix - a prefix, which is printed before the list
+ itemprefix - a prefi, which is printed before each item" > /dev/stderr
+ return 1
+ end
+ set -q iprefix[1]
+ or set -l iprefix ""
+ set -q prefix[1]
+ or set -l prefix ""
+ set -l pat (commandline -t)
+ #set -l pat $argv[5]
+ switch $pat
+ case "*$div*"
+ for i in (echo $pat | sed "s/^\(.\+$div\)$iprefix.*\$/\1/")$iprefix(eval $cmd)
+ echo $i
+ end
+ case '*'
+ for i in $prefix$iprefix(eval $cmd)
+ echo $i
+ end
+ end
+
+
+end
diff --git a/share/functions/__fish_complete_lpr.fish b/share/functions/__fish_complete_lpr.fish
new file mode 100644
index 00000000..930a2139
--- /dev/null
+++ b/share/functions/__fish_complete_lpr.fish
@@ -0,0 +1,38 @@
+function __fish_complete_lpr -d 'Complete lpr common options' --argument-names cmd
+ complete -c $cmd -s E -d 'Forces encryption when connecting to the server'
+ complete -c $cmd -s U -d 'Specifies an alternate username' -xa '(__fish_complete_users)'
+
+ switch $cmd
+ case lpr lpq lprm
+ complete -c $cmd -s P -d 'Specifies an alternate printer or class name' -xa '(__fish_print_lpr_printers)'
+ end
+
+ switch $cmd
+ case lpq cancel
+ complete -c $cmd -s a -d 'Apply command to all printers'
+ end
+
+ switch $cmd
+ case lpq cancel lpmove lpstat lprm lpoptions lp reject accept cupsaccept cupsreject cupsenable cupsdisable
+ complete -c $cmd -s h -d 'Specifies an alternate server' -xa '(__fish_print_hostnames)'
+ end
+
+ switch $cmd
+ case lp lpr
+ complete -c $cmd -s o -d 'Sets a job option' -xa '(__fish_complete_lpr_option)'
+ complete -c $cmd -s m -d 'Send an email on job completion'
+
+ complete -c $cmd -s o -xa landscape -d 'Landscape mode'
+ complete -c $cmd -s o -xa "media=a4 media=letter media=legal" -d 'Media size'
+ complete -c $cmd -s o -xa page-ranges= -d 'Page ranges'
+ complete -c $cmd -s o -xa orientation-requested= -d 'Choose orientation (4-landscape)'
+ complete -c $cmd -s o -xa 'sides-one-sided two-sided-long-edge two-sided-short-edge' -d 'Choose between one/two sided modes'
+ complete -c $cmd -s o -xa fitplot -d 'Scale the print file to fit on the page'
+ complete -c $cmd -s o -xa 'number-up=2 number-up=4 number-up=6 number-up=9' -d 'Print multiple document pages on each output page'
+ complete -c $cmd -s o -xa 'scaling=' -d 'Scale image files to use up to number percent of the page'
+ complete -c $cmd -s o -xa 'cpi=' -d 'Set the number of characters per inch to use'
+ complete -c $cmd -s o -xa 'lpi=' -d 'Set the number of lines per inch to use'
+ complete -c $cmd -s o -xa 'page-bottom= page-left= page-right= page-top=' -d 'Set the page margins when printing text files'
+ end
+end
+
diff --git a/share/functions/__fish_complete_lpr_option.fish b/share/functions/__fish_complete_lpr_option.fish
new file mode 100644
index 00000000..287b13eb
--- /dev/null
+++ b/share/functions/__fish_complete_lpr_option.fish
@@ -0,0 +1,25 @@
+function __fish_complete_lpr_option --description 'Complete lpr option'
+ set -l optstr (commandline -t)
+ switch $optstr
+ case '*=*'
+ set -l IFS =
+ echo $optstr | read -l opt val
+ set -l descr
+ for l in (lpoptions -l ^ /dev/null | grep $opt | sed 's+\(.*\)/\(.*\):\s*\(.*\)$+\2 \3+; s/ /\n/g;')
+ if not set -q descr[1]
+ set descr $l
+ continue
+ end
+ set -l default ''
+ if test (expr substr $l 1 1) = '*'
+ set default 'Default '
+ set l (echo $l | sed 's/\*//')
+ end
+ echo $opt=$l\t$default$descr
+ end
+ case '*'
+ lpoptions -l ^ /dev/null | sed 's+\(.*\)/\(.*\):.*$+\1=\t\2+'
+ end
+
+
+end
diff --git a/share/functions/__fish_complete_pacman.fish b/share/functions/__fish_complete_pacman.fish
new file mode 100644
index 00000000..0c191211
--- /dev/null
+++ b/share/functions/__fish_complete_pacman.fish
@@ -0,0 +1,101 @@
+function __fish_complete_pacman -d 'Complete pacman (ARCH package manager)' --argument-names progname
+ # Completions for pacman, using short options when possible
+ # Author: Giorgio Lando <patroclo7@gmail.com>
+ # Updated by maxfl
+ set -q progname[1]; or set -l progname pacman
+
+ set -l listinstalled "(pacman -Q | tr ' ' \t)"
+ set -l listall "(pacman -Sl | cut --delim ' ' --fields 2- | tr ' ' \t | sort)"
+ set -l listgroups "(cat /etc/pacman.conf | grep '^\[.\+\]' | sed 's/[]\[]//g')"
+
+ set -l noopt 'commandline | not sgrep -qe "-[a-z]*[DQRSTU]\|--database\|--query\|--sync\|--remove\|--upgrade\|--deptest"'
+ set -l query 'commandline | sgrep -qe "-[a-z]*Q\|--query"'
+ set -l remove 'commandline | sgrep -qe "-[a-z]*R\|--remove"'
+ set -l sync 'commandline | sgrep -qe "-[a-z]*S\|--sync"'
+ set -l upgrade 'commandline | sgrep -qe "-[a-z]*U\|--upgrade"'
+
+ # Primary operations
+ complete -c $progname -s D -f -l database -n $noopt -d 'Modify the package database'
+ complete -c $progname -s Q -f -l query -n $noopt -d 'Query the package database'
+ complete -c $progname -s R -f -l remove -n $noopt -d 'Remove packages from the system'
+ complete -c $progname -s S -f -l sync -n $noopt -d 'Synchronize packages'
+ complete -c $progname -s T -f -l deptest -n $noopt -d 'Check dependencies'
+ complete -c $progname -s U -f -l upgrade -n $noopt -d 'Upgrade or add a package in the system'
+ complete -c $progname -s V -f -l version -d 'Display version and exit'
+ complete -c $progname -s h -f -l help -d 'Display help'
+
+ # General options
+ complete -c $progname -s b -l dbpath -d 'Alternative database location' -xa '(__fish_complete_directories)'
+ complete -c $progname -s d -d 'Skips all dependency checks'
+ complete -c $progname -s f -d 'Bypass file conflict checks'
+ complete -c $progname -s r -l root -d 'Specify an alternative installation root'
+ complete -c $progname -s v -l verbose -d 'Output more status messages'
+ complete -c $progname -l arch -d 'Specify alternate architecture'
+ complete -c $progname -l cachedir -d 'Specify an alternative package cache location'
+ complete -c $progname -l config -d 'Specify an altenate config file'
+ complete -c $progname -l debug -d 'Display debug messages'
+ complete -c $progname -l gpgdir -d 'Specify a directory of files used by GnuPG to verify package signatures'
+ complete -c $progname -l logfile -d 'Specify alternative log file'
+ complete -c $progname -l noconfirm -d 'Bypass any question'
+
+ # Transaction options (query, sync, remove, upgrade)
+ for condition in query sync remove upgrade
+ complete -c $progname -n $$condition -s d -l nodeps -d 'Skip dependency check'
+ complete -c $progname -n $$condition -l dbonly -d 'Add/remove the database entry only, leave all files'
+ complete -c $progname -n $$condition -l noprogressbar -d 'Do not display progressbar'
+ complete -c $progname -n $$condition -l noscriptlet -d 'Do not execute intall script'
+ complete -c $progname -n $$condition -s p -l print -d 'Only print targets instead of performing the actual operation'
+ complete -c $progname -n $$condition -l print-format -x -d 'Specify printf-like format'
+ end
+
+ # Upgrade options (sync, upgrade)
+ for condition in sync upgrade
+ complete -c $progname -n $$condition -s f -l force -d 'Bypass file conflict checks'
+ complete -c $progname -n $$condition -l asdeps -d 'Install packages non-explicitly, as dependencies'
+ complete -c $progname -n $$condition -l asexplicit -d 'Install packages explicitly'
+ complete -c $progname -n $$condition -l ignore -d 'Ignore upgrade of this package' -xa $listinstalled
+ complete -c $progname -n $$condition -l ignoregroup -d 'Ignore upgrade of all packages in a group' -xa $listgroups
+ complete -c $progname -n $$condition -l needed -d 'Do not reinstall up-to-date targets'
+ complete -c $progname -n $$condition -l recursive -d 'Recursively reinstall all dependencies'
+ end
+
+ # Query and sync options
+ for condition in query sync
+ complete -c $progname -n $$condition -s g -l groups -d 'Display all packages in the group'
+ complete -c $progname -n $$condition -s i -l info -d 'Display information on a given package'
+ complete -c $progname -n $$condition -s q -l quiet -d 'Show less information'
+ complete -c $progname -n $$condition -s s -l search -r -d 'Search packages for regexp'
+ end
+
+ # Query options
+ complete -c $progname -n $query -s c -l changelog -d 'View the changelog of a package'
+ complete -c $progname -n $query -s d -l deps -d 'List only non-explicit packages (dependencies)'
+ complete -c $progname -n $query -s e -l explicit -d 'List only explicitly installed packages'
+ complete -c $progname -n $query -s k -l check -d 'Check that all files owned by the package are present'
+ complete -c $progname -n $query -s l -l list -d 'List all files owned by a given package'
+ complete -c $progname -n $query -s m -l foreign -d 'List all packages which are not in the sync database'
+ complete -c $progname -n $query -s o -l owns -r -d 'Search for the package that owns file'
+ complete -c $progname -n $query -s p -l file -d 'Apply the query to a package file and not to an installed package'
+ complete -c $progname -n $query -s t -l unrequired -d 'List packages not required by any of installed packages'
+ complete -c $progname -n $query -s u -l upgrades -d 'List all out of date packages in the system'
+ complete -c $progname -n $query -xa $listinstalled -d 'Installed package'
+
+ # Remove options
+ complete -c $progname -n $remove -s c -l cascade -d 'Remove also the packages that depends on the target packages'
+ complete -c $progname -n $remove -s n -l nosave -d 'Ignore file backup designations'
+ complete -c $progname -n $remove -s s -l recursive -d 'Remove also the dependencies of the target packages'
+ complete -c $progname -n $remove -s u -l unneeded -d 'Remove targets that are not required by any other package'
+ complete -c $progname -n $remove -xa $listinstalled -d 'Installed package'
+
+ # Sync options
+ complete -c $progname -n $sync -s c -l clean -d 'Remove old packages from the cache; if iterated, remove all the packages from the cache'
+ complete -c $progname -n $sync -s l -l list -d 'List all packages in the repository'
+ complete -c $progname -n $sync -s u -l sysupgrade -d 'Upgrade all packages that are out of date'
+ complete -c $progname -n $sync -s w -l downloadonly -d 'Only download the target packages'
+ complete -c $progname -n $sync -s y -l refresh -d 'Download a fresh copy of the master package list from the servers'
+ complete -c $progname -n $sync -xa $listall -d 'Repo package'
+
+ # Upgrade options
+ complete -c $progname -n $upgrade -a '(__fish_complete_suffix pkg.tar.xz)' -d 'Local package'
+ complete -c $progname -n $upgrade -a '(__fish_complete_suffix pkg.tar.gz)' -d 'Local package'
+end
diff --git a/share/functions/__fish_complete_pgrep.fish b/share/functions/__fish_complete_pgrep.fish
new file mode 100644
index 00000000..4fca97fc
--- /dev/null
+++ b/share/functions/__fish_complete_pgrep.fish
@@ -0,0 +1,16 @@
+
+function __fish_complete_pgrep -d 'Complete pgrep/pkill' --argument-names cmd
+ complete -c $cmd -xa '(__fish_complete_proc)'
+ complete -c $cmd -s f -d 'Match pattern agains full commandline'
+ complete -c $cmd -s g -d 'Only match processes in the process group' -xa '(__fish_complete_list , __fish_complete_groups)'
+ complete -c $cmd -s G -d "Only match processes whose real group ID is listed. Group 0 is tranlated into $cmd\'s own process group" -xa '(__fish_complete_list , __fish_complete_groups)'
+ complete -c $cmd -s n -d 'Selec only the newest process'
+ complete -c $cmd -s o -d 'Selec only the oldest process'
+ complete -c $cmd -s P -d 'Only match processes whose parent process ID is listed' -xa '(__fish_complete_list , __fish_complete_pids)'
+ complete -c $cmd -s s -d "Only match processes whose process session ID is listed. Session ID 0 is translated into $cmd\'s own session ID."
+ complete -c $cmd -s t -d 'Only match processes whose controlling terminal is listed. The terminal name should be specified without the "/dev/" prefix' -r
+ complete -c $cmd -s u -d 'Only match processes whose effective user ID is listed' -xa '(__fish_complete_list , __fish_complete_users)'
+ complete -c $cmd -s U -d 'Only match processes whose real user ID is listed' -xa '(__fish_complete_list , __fish_complete_users)'
+ complete -c $cmd -s v -d 'Negates the matching'
+ complete -c $cmd -s x -d ' Only match processes whose name (or command line if -f is specified) exactly match the pattern'
+end
diff --git a/share/functions/__fish_complete_ppp_peer.fish b/share/functions/__fish_complete_ppp_peer.fish
new file mode 100644
index 00000000..bc4f7544
--- /dev/null
+++ b/share/functions/__fish_complete_ppp_peer.fish
@@ -0,0 +1,4 @@
+function __fish_complete_ppp_peer --description 'Complete isp name for pon/poff'
+ find /etc/ppp/peers/ -type f -printf '%f\n'
+
+end
diff --git a/share/functions/__fish_complete_proc.fish b/share/functions/__fish_complete_proc.fish
index 84e3bd9d..d1c2bcff 100644
--- a/share/functions/__fish_complete_proc.fish
+++ b/share/functions/__fish_complete_proc.fish
@@ -1,3 +1,4 @@
function __fish_complete_proc --description 'Complete by list of running processes'
- ps a --no-headers --format comm | sort -u
+ ps -A --no-headers --format comm | sort -u
+
end
diff --git a/share/functions/__fish_complete_python.fish b/share/functions/__fish_complete_python.fish
new file mode 100644
index 00000000..33bc2cb6
--- /dev/null
+++ b/share/functions/__fish_complete_python.fish
@@ -0,0 +1,34 @@
+function __fish_complete_python -d 'Make completion for python' --argument-names cmd
+ complete -c $cmd -s B --description 'Don\'t write .py[co] files on import'
+ complete -c $cmd -s c -x --description "Execute argument as command"
+ complete -c $cmd -s d --description "Debug on"
+ complete -c $cmd -s E --description "Ignore environment variables"
+ complete -c $cmd -s h -l help --description "Display help and exit"
+ complete -c $cmd -s i --description "Interactive mode after executing commands"
+ complete -c $cmd -s m -d 'Run library module as a script (terminates option list)' -xa "( find /usr/lib/(eval $cmd -V 2>| sed 's/ //; s/\..\$//; s/P/p/') \$PYTHONPATH -maxdepth 1 -name '*.py' -printf '%f\n' | sed 's/.py//')"
+ complete -c $cmd -s O --description "Enable optimizations"
+ complete -c $cmd -o OO --description "Remove doc-strings in addition to the -O optimizations"
+ complete -c $cmd -s s --description 'Don\'t add user site directory to sys.path'
+ complete -c $cmd -s S --description "Disable import of site module"
+ complete -c $cmd -s u --description "Unbuffered input and output"
+ complete -c $cmd -s v --description "Verbose mode"
+ complete -c $cmd -s V --description "Display version and exit"
+ complete -c $cmd -s W -x --description "Warning control" -a "ignore default all module once error"
+ complete -c $cmd -s x -d 'Skip first line of source, allowing use of non-Unix forms of #!cmd'
+ complete -c $cmd -a "(__fish_complete_suffix .py)"
+ complete -c $cmd -a '-' -d 'Read program from stdin'
+
+ switch (eval $cmd -V 2>| sed 's/^.*\s\(.\).*/\1/')
+ case 2
+ complete -c $cmd -s 3 -d 'Warn about Python 3.x incompatibilities that 2to3 cannot trivially fix'
+ complete -c $cmd -s t --description "Warn on mixed tabs and spaces"
+ complete -c $cmd -s Q -x -a "old new warn warnall" --description "Division control"
+
+ case 3
+ complete -c $cmd -s q --description 'Don\'t print version and copyright messages on interactive startup'
+ complete -c $cmd -s X -x -d 'Set implementation-specific option'
+ complete -c $cmd -s b -d 'Issue warnings about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str'
+ complete -c $cmd -o bb -d 'Issue errors'
+
+ end
+end
diff --git a/share/functions/__fish_complete_setxkbmap.fish b/share/functions/__fish_complete_setxkbmap.fish
new file mode 100644
index 00000000..9f8578a5
--- /dev/null
+++ b/share/functions/__fish_complete_setxkbmap.fish
@@ -0,0 +1,3 @@
+function __fish_complete_setxkbmap --description 'Complete setxkb options' --argument-names what
+ sed -e "1,/! $what/d" -e '/^\s*$/,$d' /usr/share/X11/xkb/rules/xorg.lst | sed -r 's/\s+(\S+)\s+(.+)/\1\t\2/'
+end
diff --git a/share/functions/__fish_complete_subcommand.fish b/share/functions/__fish_complete_subcommand.fish
index c71f3fea..e263684a 100644
--- a/share/functions/__fish_complete_subcommand.fish
+++ b/share/functions/__fish_complete_subcommand.fish
@@ -1,11 +1,12 @@
-function __fish_complete_subcommand -d "Complete subcommand"
+function __fish_complete_subcommand -d "Complete subcommand"
set -l skip_next 1
- switch "$argv[1]"
- case '--fcs-skip=*'
- set -l rest
- echo $argv[1] | tr = ' ' | read test skip_next
- set -e argv[1]
- end
+ set -l test
+ switch "$argv[1]"
+ case '--fcs-skip=*'
+ set -l rest
+ echo $argv[1] | tr = ' ' | read test skip_next
+ set -e argv[1]
+ end
set -l res ""
set -l had_cmd 0
@@ -14,7 +15,7 @@ function __fish_complete_subcommand -d "Complete subcommand"
for i in $cmd
if test $skip_next -gt 0
- set skip_next (expr $skip_next - 1)
+ set skip_next (expr $skip_next - 1)
continue
end
@@ -31,7 +32,7 @@ function __fish_complete_subcommand -d "Complete subcommand"
case '-*'
case '*=*'
case '*'
-
+
set had_cmd 1
set res $i
end
diff --git a/share/functions/__fish_complete_svn.fish b/share/functions/__fish_complete_svn.fish
new file mode 100644
index 00000000..52b4392e
--- /dev/null
+++ b/share/functions/__fish_complete_svn.fish
@@ -0,0 +1,319 @@
+
+function __fish_complete_svn -d 'Complete svn and its wrappers' --argument-names svn
+ function _svn_cmpl_ -d 'Make a completion for a subcommand' --no-scope-shadowing --argument-names subcommand
+ set -e argv[1]
+ complete -c $svn -n "__fish_seen_subcommand_from $subcommand" $argv
+ end
+
+ #
+ # subcommands
+ #
+ set -l add add
+ set -l blame 'blame ann annotate praise'
+ set -l cat cat
+ set -l changelist 'cl changelist'
+ set -l checkout 'co checkout'
+ set -l cleanup cleanup
+ set -l commit 'ci commit'
+ set -l copy 'cp copy'
+ set -l diff 'di diff'
+ set -l export export
+ set -l help '\? h help'
+ set -l import import
+ set -l info info
+ set -l list 'ls list'
+ set -l lock lock
+ set -l log log
+ set -l merge merge
+ set -l mergeinfo mergeinfo
+ set -l mkdir mkdir
+ set -l move 'mv move ren rename'
+ set -l patch patch
+ set -l propdel 'pd pdel propdel'
+ set -l propedit 'pe pedit propedit'
+ set -l propget 'pg pget propget'
+ set -l proplist 'pl plist proplist'
+ set -l propset 'ps pset propset'
+ set -l relocate relocate
+ set -l remove 'rm remove del delete'
+ set -l resolve resolve
+ set -l resolved resolved
+ set -l revert revert
+ set -l stat 'st stat status'
+ set -l switch 'sw switch'
+ set -l unlock unlock
+ set -l update 'up update'
+ set -l upgrade upgrade
+
+ complete -c $svn -n '__fish_use_subcommand' -x -a $add --description 'Put files and directories under version control, scheduling them for addition to repository. They will be added in next commit.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $blame --description 'Output the content of specified files or URLs with revision and author information in-line.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $cat --description 'Output the content of specified files or URLs.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $changelist --description 'Output the content of specified files or URLs with revision and author information in-line.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $checkout --description 'Check out a working copy from a repository.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $cleanup --description 'Recursively clean up the working copy, removing locks, resuming unfinished operations, etc.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $commit --description 'Send changes from your working copy to the repository.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $copy --description 'Duplicate something in working copy or repository, remembering history.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $diff --description 'Display the differences between two revisions or paths.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $export --description 'Create an unversioned copy of a tree.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $help --description 'Describe the usage of this program or its subcommands.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $import --description 'Commit an unversioned file or tree into the repository.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $info --description 'Display information about a local or remote item.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $list --description 'List directory entries in the repository.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $lock --description 'Lock working copy paths or URLs in the repository, so that no other user can commit changes to them.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $log --description 'Show the log messages for a set of revision(s) and/or file(s).'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $merge --description 'Apply the differences between two sources to a working copy path.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $mergeinfo --description 'Display information related to merges'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $mkdir --description 'Create a new directory under version control.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $move --description 'Move and/or rename something in working copy or repository.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $patch --description 'Apply a unidiff patch to the working copy'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $propdel --description 'Remove a property from files, dirs, or revisions.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $propedit --description 'Edit a property with an external editor.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $propget --description 'Print the value of a property on files, dirs, or revisions.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $proplist --description 'List all properties on files, dirs, or revisions.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $propset --description 'Set the value of a property on files, dirs, or revisions.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $relocate --description 'Rewrite working copy url metadata'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $remove --description 'Remove files and directories from version control.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $resolve --description 'Remove conflicts on working copy files or directories.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $resolved --description 'Remove \'conflicted\' state on working copy files or directories.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $revert --description 'Restore pristine working copy file (undo most local edits).'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $stat --description 'Print the status of working copy files and directories.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $switch --description 'Update the working copy to a different URL.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $unlock --description 'Unlock working copy paths or URLs.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $update --description 'Bring changes from the repository into the working copy.'
+ complete -c $svn -n '__fish_use_subcommand' -x -a $upgrade --description 'Upgrade the metadata storage format for a working copy.'
+
+ #
+ # Global commands
+ #
+ complete -c $svn -n 'not __fish_use_subcommand' -l username -x --description 'Specify a username ARG'
+ complete -c $svn -n 'not __fish_use_subcommand' -l password -x --description 'Specify a password ARG'
+ complete -c $svn -n 'not __fish_use_subcommand' -l no-auth-cache --description 'Do not cache authentication tokens'
+ complete -c $svn -n 'not __fish_use_subcommand' -l non-interactive --description 'Do no interactive prompting'
+ complete -c $svn -n 'not __fish_use_subcommand' -l trust-server-cert --description 'Accept SSL server certificates from unknown authorities (ony with --non-interactive)'
+ complete -c $svn -n 'not __fish_use_subcommand' -l config-dir -x --description 'Read user configuration files from directory ARG'
+ complete -c $svn -n 'not __fish_use_subcommand' -l config-option -x --description 'Set user configuration option in the format: FILE:SECTION:OPTION=[VALUE]'
+
+ #
+ # local commands
+ #
+ for cmd in $commit $copy $import $lock $mkdir $move $propedit $remove
+ if not test $cmd = lock
+ _svn_cmpl_ $cmd -l editor-cmd -x --description 'Use ARG as external editor'
+ end
+ _svn_cmpl_ $cmd -l message -s m --description 'Specify log message'
+ _svn_cmpl_ $cmd -l encoding -x --description 'Treat value as being in charset encoding ARG'
+ _svn_cmpl_ $cmd -l file -s F --description 'Read log message from file'
+ _svn_cmpl_ $cmd -l force-log --description 'Force validity of log message source'
+ end
+
+ for cmd in $merge $resolve $switch $update
+ _svn_cmpl_ $cmd -l accept -d 'Specify automatic conflict resolution source' -xa 'base working mine-conflict theirs-conflict mine-full theirs-full'
+ end
+
+ for cmd in $add $changelist $checkout $commit $diff $export $import $info $list $log $merge $mergeinfo $propdel $propget $proplist $propset $resolve $resolved $revert $stat $switch $update
+ _svn_cmpl_ $cmd -l depth -d 'Limit operation by depth' -xa 'empty files immediates infinity'
+ end
+
+ for cmd in $add $changelist $checkout $commit $copy $delete $elog $export $import $merge $mkdir $move $patch $propdel $proplist $propset $resolve $resolved $revert $stat $switch $update $upgrade
+ _svn_cmpl_ $cmd -l quiet -s q --description 'Print nothing, or only summary information'
+ end
+
+ for cmd in $add $blame $checkout $delete $diff $export $import $lock $merge $move $propedit $propset $remove $switch $unlock $update
+ _svn_cmpl_ $cmd -l force --description 'Force operation to run'
+ end
+
+ for cmd in $add $changelist $commit $delete $info $lock $log $propset $resolve $resolved $revert $unlock
+ _svn_cmpl_ $cmd -l targets --description 'Process contents of file ARG as additional args' -r
+ end
+
+ for cmd in $changelist $commit $diff $info $propdel $propget $proplist $propset $revert $stat $update
+ _svn_cmpl_ $cmd -l changelist -l cl --description 'Operate only on members of changelist' -r
+ end
+
+ for cmd in $blame $diff $info $list $log $propget $proplist $stat
+ _svn_cmpl_ $cmd -l xml --description 'Output in xml'
+ end
+
+ for cmd in $commit $copy $delete $import $log $mkdir $move $propedit
+ _svn_cmpl_ $cmd -l with-revprop --description 'Retrieve revision property' -x
+ end
+
+ for cmd in $diff $log $merge
+ _svn_cmpl_ $cmd -l change -s c -d 'The change made in revision ARG' -xa '(__fish_print_svn_rev)'
+ end
+
+ for cmd in $blame $cat $checkout $copy $diff $export $info $list $log $merge $mergeinfo $move $propedit $propget $propdel $proplist $propset $switch $update
+ _svn_cmpl_ $cmd -l revision -s r -d 'Which revision the target is first looked up' -xa '(__fish_print_svn_rev)'
+ end
+
+ for cmd in $checkout $copy $export $relocate $stat $switch $update
+ _svn_cmpl_ $cmd -l ignore-externals --description 'Ignore externals definitions'
+ end
+
+ for cmd in $blame $list $log $propget $proplist $stat
+ _svn_cmpl_ $cmd -l verbose -s v --description 'Print extra information'
+ end
+
+ for cmd in $propdel $propedit $propget $proplist $propset
+ _svn_cmpl_ $cmd -l revprop --description 'Operate on a revision property (use with -r)'
+ end
+
+ for cmd in $add $copy $mkdir $move $update
+ _svn_cmpl_ $cmd -l parents --description 'Add intermediate parents'
+ end
+
+ for cmd in $blame $diff $log $merge
+ _svn_cmpl_ $cmd -l extensions -s x -d 'Output 3 lines of unified context' -xa '-u --unified'
+ _svn_cmpl_ $cmd -l extensions -s x -d 'Ignore changes in amount of whitespace' -xa '-b --ignore-space-change'
+ _svn_cmpl_ $cmd -l extensions -s x -d 'Ignore all whitespace' -xa '-w --ignore-all-space'
+ _svn_cmpl_ $cmd -l extensions -s x -d 'Ignore eol style' -xa '-w --ignore-eol-style'
+ _svn_cmpl_ $cmd -l extensions -s x -d 'Show C function name' -xa '-p --shoe-c-function'
+
+ # Next completion doesn't work, since fish doesn't respect -x key
+ #_svn_cmpl_ $cmd -l extensions -n '__fish_seen_subcommand_from --diff-cmd' -xa '(__fish_complete_svn_diff)'
+ end
+
+ for cmd in $cleanup $merge $switch $update
+ _svn_cmpl_ $cmd -l diff3-cmd -d 'Use as merge command' -xa "(complete -C(commandline -ct))"
+ end
+
+ for cmd in $blame $info $list $log $stat
+ _svn_cmpl_ $cmd -l incremental -d 'Give output suitable for concatenation'
+ end
+
+ for cmd in $add $import $stat
+ _svn_cmpl_ $cmd -l no-ignore -d 'Disregard default and svn:ignore property ignores'
+ end
+
+ for cmd in $merge $patch
+ _svn_cmpl_ $cmd -l dry-run --description 'Try operation but make no changes'
+ end
+
+ for cmd in $merge $switch
+ _svn_cmpl_ $cmd -l ignore-ancestry --description 'Ignore ancestry when calculating merges'
+ end
+
+ for cmd in $diff $log
+ _svn_cmpl_ $cmd -l internal-diff --description 'Override diff-cmd specified in config file'
+ _svn_cmpl_ $cmd -l diff-cmd --description 'Use external diff command' -xa "(complete -C(commandline -ct))"
+ end
+
+ for cmd in $add $import
+ _svn_cmpl_ $cmd -l no-auto-props --description 'Disable automatic properties'
+ end
+
+ for cmd in $switch $update
+ _svn_cmpl_ $cmd -l set-depth --description 'Set new working copy depth' -xa 'exclude empty files immediates infinity'
+ end
+
+ for cmd in $blame $log
+ _svn_cmpl_ $cmd -l use-merge-history -s g -d 'Use/display additional information from merge history'
+ end
+
+ #
+ # Individual commands
+ #
+
+ #
+ # Completions for the 'checkout', 'co' subcommands
+ #
+ _svn_cmpl_ $checkout -xa 'http:// ftp:// svn+ssh:// svn+ssh://(__fish_print_hostnames)'
+
+ #
+ # Completions for the 'changelist', 'cl' subcommands
+ #
+ _svn_cmpl_ $changelist -l remove -d 'Remove changelist association'
+
+ #
+ # Completions for the 'commit', 'ci' subcommands
+ #
+ _svn_cmpl_ $commit -l keep-changelists --description 'don\'t delete changelists after commit'
+ _svn_cmpl_ $commit -l no-unlock --description 'Don\'t unlock the targets'
+
+ #
+ # Completions for the 'remove', 'rm', 'delete', 'del' subcommands
+ #
+ _svn_cmpl_ $remove -l keep-local -x --description 'Keep path in working copy'
+
+ #
+ # Completions for the 'diff', 'di' subcommands
+ #
+ _svn_cmpl_ $diff -l old --description 'Use ARG as the older target' -xa '(__fish_print_svn_rev)'
+ _svn_cmpl_ $diff -l new --description 'Use ARG as the newer target' -xa '(__fish_print_svn_rev)'
+ _svn_cmpl_ $diff -l no-diff-deleted --description 'Do not print differences for deleted files'
+ _svn_cmpl_ $diff -l notice-ancestry --description 'Notice ancestry when calculating differences'
+ _svn_cmpl_ $diff -l summarize --description 'Show a summary of the results'
+ _svn_cmpl_ $diff -l git -d 'Use git\'s extended diff format'
+ _svn_cmpl_ $diff -l show-copies-as-adds -d 'Don\'t diff copied or moved files with their source'
+
+ #
+ # Completions for the 'export' subcommand
+ #
+ _svn_cmpl_ $export -l native-eol -x --description 'Use a different EOL marker than the standard'
+
+ #
+ # Completions for the 'log' subcommand
+ #
+ _svn_cmpl_ $log -l stop-on-copy --description 'Do not cross copies while traversing history'
+ _svn_cmpl_ $log -l limit -s l -x --description 'Maximum number of log entries'
+ _svn_cmpl_ $log -l diff --description 'Produce diff output'
+ _svn_cmpl_ $log -l with-all-revprops -d 'Retrieve all revision properties'
+ _svn_cmpl_ $log -l with-no-revprops -d 'Retrieve no revision properties'
+
+ #
+ # Completions for the 'merge' subcommand
+ #
+ _svn_cmpl_ $merge -l allow-mixed-variables -d 'Allow merge into mixed-revision working copy'
+ _svn_cmpl_ $merge -l record-only -d 'Merge only mergeinfo differences'
+ _svn_cmpl_ $merge -l reintegrate -d 'Merge a branch back into its parent branch'
+
+ #
+ # Completions for the 'patch' subcommand
+ #
+ _svn_cmpl_ $patch -l reverse-diff -d 'Apply the unidiff in reverse'
+ _svn_cmpl_ $patch -l strip -x -d 'Number of leading path components to strip from paths'
+
+ #
+ # Completions for the 'propget', 'pget', 'pg' subcommands
+ #
+ _svn_cmpl_ $propget -l strict --description 'Use strict semantics'
+
+ #
+ # Complete pget, pset, pedit options with svn props
+ #
+ set -l props svn:{ignore,keywords,executable,eol-style,mime-type,externals,need-lock}
+ _svn_cmpl_ $propget -a "$props"
+ _svn_cmpl_ $propedit -a "$props"
+ _svn_cmpl_ $propdel -a "$props"
+ _svn_cmpl_ $propset -a "$props"
+
+ _svn_cmpl_ svn:eol-style -a "native LF CR CRLF"
+ _svn_cmpl_ svn:mime-type -a "(__fish_print_xdg_mimetypes)"
+ _svn_cmpl_ svn:keywords -a "URL" -d 'The URL for the head version of the object'
+ _svn_cmpl_ svn:keywords -a "Author" -d 'The last person to modify the file'
+ _svn_cmpl_ svn:keywords -a "Date" -d 'Last changed date'
+ _svn_cmpl_ svn:keywords -a "Rev" -d 'The last revision the object changed'
+ _svn_cmpl_ svn:keywords -a "Id" -d 'A compressed summary of all keywords'
+
+ #
+ # Completions for the 'relocate' subcommand
+ #
+ _svn_cmpl_ $relocate -xa '( svn info | grep URL: | cut --delimiter " " --fields 2 ) http:// ftp:// svn+ssh:// svn+ssh://(__fish_print_hostnames)'
+
+ #
+ # Completions for the 'switch', 'sw' subcommands
+ #
+ _svn_cmpl_ $switch -l relocate --description 'Relocate via URL-rewriting' -xa '( svn info | grep URL: | cut --delimiter " " --fields 2 ) http:// ftp:// svn+ssh:// svn+ssh://(__fish_print_hostnames)'
+
+ #
+ # Completions for the 'status', 'st' subcommands
+ #
+ _svn_cmpl_ $stat -l show-updates -s u -d 'Display update information'
+
+ #
+ # Completions for the 'update', 'up' subcommand
+ #
+ _svn_cmpl_ $update -l editor-cmd -x --description 'Use ARG as external editor'
+
+ functions -e _svn_cmpl_
+end
diff --git a/share/functions/__fish_complete_svn_diff.fish b/share/functions/__fish_complete_svn_diff.fish
new file mode 100644
index 00000000..1969c164
--- /dev/null
+++ b/share/functions/__fish_complete_svn_diff.fish
@@ -0,0 +1,25 @@
+function __fish_complete_svn_diff --description 'Complete "svn diff" arguments'
+ set -l cmdl (commandline -cop)
+#set -l cmdl svn diff --diff-cmd diff --extensions '-a -b'
+set -l diff diff
+set -l args
+while set -q cmdl[1]
+switch $cmdl[1]
+case --diff-cmd
+if set -q cmdl[2]
+set diff $cmdl[2]
+set -e cmd[2]
+end
+
+case --extensions
+if set -q cmdl[2]
+set args $cmdl[2]
+set -e cmdl[2]
+end
+end
+set -e cmdl[1]
+end
+set -l token (commandline -cpt)
+complete -C"$diff $args $token"
+
+end
diff --git a/share/functions/__fish_complete_tex.fish b/share/functions/__fish_complete_tex.fish
index ecff0871..1c8876fe 100644
--- a/share/functions/__fish_complete_tex.fish
+++ b/share/functions/__fish_complete_tex.fish
@@ -7,15 +7,15 @@ function __fish_complete_tex -d "Common completions for all tex commands"
__fish_complete_suffix (commandline -ct) .tex '(La)TeX file'
)"
- complete -c $argv -o file-line-error -d "Show errors in style file:line"
- complete -c $argv -o no-file-line-error -d "Show errors not in style file:line"
- complete -c $argv -o halt-on-error -d "Stop processing at the first error"
- complete -c $argv -o interaction=batchmode -d "Set interation mode"
- complete -c $argv -o interaction=nonstopmode -d "Set interation mode"
- complete -c $argv -o interaction=scrollmode -d "Set interation mode"
- complete -c $argv -o interaction=errorstopmode -d "Set interation mode"
- complete -c $argv -o output-directory= -x -a "(__fish_complete_directories (commandline -ct))" -d "Output directory"
- complete -c $argv -o shell-escape -d "Enable \write18{SHELL COMMAND}"
- complete -c $argv -o no-shell-escape -d "Disable \write18{SHELL COMMAND}"
- complete -c $argv -o src-specials -d "Insert source specials into the DVI file"
+ complete -c $argv -o file-line-error -d "Show errors in style file:line"
+ complete -c $argv -o no-file-line-error -d "Show errors not in style file:line"
+ complete -c $argv -o halt-on-error -d "Stop processing at the first error"
+ complete -c $argv -o interaction=batchmode -d "Set interation mode"
+ complete -c $argv -o interaction=nonstopmode -d "Set interation mode"
+ complete -c $argv -o interaction=scrollmode -d "Set interation mode"
+ complete -c $argv -o interaction=errorstopmode -d "Set interation mode"
+ complete -c $argv -o output-directory= -x -a "(__fish_complete_directories (commandline -ct))" -d "Output directory"
+ complete -c $argv -o shell-escape -d "Enable \write18{SHELL COMMAND}"
+ complete -c $argv -o no-shell-escape -d "Disable \write18{SHELL COMMAND}"
+ complete -c $argv -o src-specials -d "Insert source specials into the DVI file"
end
diff --git a/share/functions/__fish_complete_vi.fish b/share/functions/__fish_complete_vi.fish
index ba7dc10b..7eb36437 100644
--- a/share/functions/__fish_complete_vi.fish
+++ b/share/functions/__fish_complete_vi.fish
@@ -1,16 +1,14 @@
#completion for vi/vim
-function __fish_complete_vi -d "Compleletions for vi and its aliases"
-
+function __fish_complete_vi -d "Compleletions for vi and its aliases" --argument-names cmd
set -l is_vim
- command vi --version >/dev/null ^/dev/null; and set is_vim vim
-
- set -l cmds -c $argv
+ if type $cmd > /dev/null
+ eval command $cmd --version >/dev/null ^/dev/null; and set -l is_vim vim
+ end
# vim
+ set -l cmds -c $cmd
if test -n "$is_vim"
-
-
# these don't work
#complete $cmds -a - --description 'The file to edit is read from stdin. Commands are read from stderr, which should be a tty'
diff --git a/share/functions/__fish_complete_wvdial_peers.fish b/share/functions/__fish_complete_wvdial_peers.fish
new file mode 100644
index 00000000..11155b1e
--- /dev/null
+++ b/share/functions/__fish_complete_wvdial_peers.fish
@@ -0,0 +1,29 @@
+function __fish_complete_wvdial_peers --description 'Complete wvdial peers' --argument cfgfiles
+ set -q cfgfiles[0]
+ or set -l cfgfiles /etc/wvdial.conf ~/.wvdialrc
+
+ # test if there is an alternative config file specified
+ set -l store_next
+ for opt in (commandline -cpo)
+ if set -q store_next[1]
+ set store_next
+ set cfgfiles $opt
+ continue
+ end
+
+ switch $opt
+ case -C --config
+ set store_next true
+ case '--config=*'
+ set cfgfiles (echo $opt | sed 's/--config=//')
+ end
+ end
+
+ for file in $cfgfiles
+ if test -f $file
+ cat $file | grep '\[Dialer' | sed 's/\[Dialer \(.\+\)\]/\1/'
+ end
+ end | sort -u | grep -v Defaults
+
+
+end
diff --git a/share/functions/__fish_complete_xsum.fish b/share/functions/__fish_complete_xsum.fish
new file mode 100644
index 00000000..803e2b30
--- /dev/null
+++ b/share/functions/__fish_complete_xsum.fish
@@ -0,0 +1,13 @@
+function __fish_complete_xsum --description 'Complete md5sum sha1 etc' --argument-names cmd
+ complete -c $cmd -d "Compute and check $cmd message digest" -r
+ complete -c $cmd -s b -l binary -d 'Read in binary mode'
+ complete -c $cmd -s c -l check -d "Read $cmd sums from files and check them"
+ complete -c $cmd -s t -l text -d 'Read in text mode'
+ complete -c $cmd -l quiet -d 'Don\'t print OK for each successfully verified file'
+ complete -c $cmd -l status -d 'Don\'t output anything, status code shows success'
+ complete -c $cmd -s w -l warn -d 'Warn about improperly formatted checksum lines'
+ complete -c $cmd -l strict -d 'With --check, exit non-zero for any invalid input'
+ complete -c $cmd -l help -d 'Display help text'
+ complete -c $cmd -l version -d 'Output version information and exit'
+end
+
diff --git a/share/functions/__fish_is_token_n.fish b/share/functions/__fish_is_token_n.fish
new file mode 100644
index 00000000..d2129e26
--- /dev/null
+++ b/share/functions/__fish_is_token_n.fish
@@ -0,0 +1,10 @@
+function __fish_is_token_n --description 'Test if current token is on Nth place' --argument n
+ set -l num (count (commandline -poc))
+ #if test $cur
+ expr $n = $num + 1 > /dev/null
+ #else
+ #expr $n '=' $num + 1 > /dev/null
+ #end
+
+
+end
diff --git a/share/functions/__fish_print_abook_emails.fish b/share/functions/__fish_print_abook_emails.fish
new file mode 100644
index 00000000..c1a8d294
--- /dev/null
+++ b/share/functions/__fish_print_abook_emails.fish
@@ -0,0 +1,4 @@
+function __fish_print_abook_emails --description 'Print email addresses (abook)'
+ abook --mutt-query "" | egrep -v '^\s*$'
+
+end
diff --git a/share/functions/__fish_print_arch_daemons.fish b/share/functions/__fish_print_arch_daemons.fish
new file mode 100644
index 00000000..681a9546
--- /dev/null
+++ b/share/functions/__fish_print_arch_daemons.fish
@@ -0,0 +1,4 @@
+function __fish_print_arch_daemons --description 'Print arch daemons'
+ find /etc/rc.d/ -executable -type f -printf '%f\n'
+
+end
diff --git a/share/functions/__fish_print_lpr_options.fish b/share/functions/__fish_print_lpr_options.fish
new file mode 100644
index 00000000..aedf5b5a
--- /dev/null
+++ b/share/functions/__fish_print_lpr_options.fish
@@ -0,0 +1,4 @@
+function __fish_print_lpr_options --description 'Print lpr options'
+ lpoptions -l ^ /dev/null | sed 's+\(.*\)/\(.*\):.*$+\1\t\2+'
+
+end
diff --git a/share/functions/__fish_print_lpr_printers.fish b/share/functions/__fish_print_lpr_printers.fish
new file mode 100644
index 00000000..e128bc17
--- /dev/null
+++ b/share/functions/__fish_print_lpr_printers.fish
@@ -0,0 +1,5 @@
+function __fish_print_lpr_printers --description 'Print lpr printers'
+ lpstat -p ^ /dev/null | sed 's/^\S*\s\(\S*\)\s\(.*\)$/\1\t\2/'
+
+
+end
diff --git a/share/functions/__fish_print_lsblk_columns.fish b/share/functions/__fish_print_lsblk_columns.fish
new file mode 100644
index 00000000..9e0a7c1d
--- /dev/null
+++ b/share/functions/__fish_print_lsblk_columns.fish
@@ -0,0 +1,4 @@
+function __fish_print_lsblk_columns --description 'Print available lsblk columns'
+ lsblk --help | sed '1,/Available columns:/d; /^$/,$d; s/^\s\+//; s/\s/\t/'
+
+end
diff --git a/share/functions/__fish_print_mounted.fish b/share/functions/__fish_print_mounted.fish
new file mode 100644
index 00000000..a7cfc0de
--- /dev/null
+++ b/share/functions/__fish_print_mounted.fish
@@ -0,0 +1,4 @@
+function __fish_print_mounted --description 'Print mounted devices'
+ cat /etc/mtab | cut -d " " -f 1-2|tr " " \n|sed -e "s/[0-9\.]*:\//\//"|sgrep "^/"
+
+end
diff --git a/share/functions/__fish_print_svn_rev.fish b/share/functions/__fish_print_svn_rev.fish
new file mode 100644
index 00000000..7b8638dc
--- /dev/null
+++ b/share/functions/__fish_print_svn_rev.fish
@@ -0,0 +1,10 @@
+function __fish_print_svn_rev --description 'Print svn revisions'
+ svn info | grep "Last Changed Rev" | cut --delimiter " " --fields 4
+ echo \{\tRevision at start of the date
+ echo HEAD\tLatest in repository
+ echo BASE\tBase rev of item\'s working copy
+ echo COMMITTED\tLatest commit at or befor base
+ echo PREV\tRevision just before COMMITTED
+
+
+end
diff --git a/share/functions/__fish_print_xdg_mimeapps.fish b/share/functions/__fish_print_xdg_mimeapps.fish
new file mode 100644
index 00000000..f98d50ee
--- /dev/null
+++ b/share/functions/__fish_print_xdg_mimeapps.fish
@@ -0,0 +1,4 @@
+function __fish_print_xdg_mimeapps --description 'Print xdg mime applications'
+ find ~/.local/share/applications/ /usr/share/applications/ -name \*.desktop \( -type f -or -type l \) -printf '%P\n' | sort -u
+
+end
diff --git a/share/functions/__fish_print_xdg_mimetypes.fish b/share/functions/__fish_print_xdg_mimetypes.fish
new file mode 100644
index 00000000..b74fa48a
--- /dev/null
+++ b/share/functions/__fish_print_xdg_mimetypes.fish
@@ -0,0 +1,5 @@
+function __fish_print_xdg_mimetypes --description 'Print XDG mime types'
+ cat ~/.local/share/applications/mimeinfo.cache | grep -v "\[MIME Cache\]" | tr = \t
+ cat /usr/share/applications/mimeinfo.cache | grep -v "\[MIME Cache\]" | tr = \t
+
+end
diff --git a/share/functions/__fish_print_xrandr_modes.fish b/share/functions/__fish_print_xrandr_modes.fish
new file mode 100644
index 00000000..bbcade84
--- /dev/null
+++ b/share/functions/__fish_print_xrandr_modes.fish
@@ -0,0 +1,13 @@
+function __fish_print_xrandr_modes --description 'Print xrandr modes'
+ set -l out
+ xrandr | sed '/^Screen/d; s/^ \+/mode: /' | while read -l output mode misc
+ switch $output
+ case mode:
+ echo $mode\t(echo $misc | sed 's/\(^ \+\)\|\( *$\)//') [$out]
+ case '*'
+ set out $output
+ end
+ end
+
+
+end
diff --git a/share/functions/__fish_print_xrandr_outputs.fish b/share/functions/__fish_print_xrandr_outputs.fish
new file mode 100644
index 00000000..b699a94d
--- /dev/null
+++ b/share/functions/__fish_print_xrandr_outputs.fish
@@ -0,0 +1,5 @@
+function __fish_print_xrandr_outputs --description 'Print xrandr outputs'
+ xrandr | sed '/^Screen\|^ /d; s/^\(\S\+\) \+\(.\+\)/\1\t\2/'
+
+
+end
diff --git a/share/functions/__fish_print_xwindows.fish b/share/functions/__fish_print_xwindows.fish
new file mode 100644
index 00000000..98251c94
--- /dev/null
+++ b/share/functions/__fish_print_xwindows.fish
@@ -0,0 +1,4 @@
+function __fish_print_xwindows --description 'Print X windows'
+ xwininfo -root -children | grep '^\s\+0x' | sed '/(has no name)/d; s/^\s*\(\S\+\)\s\+"\(.\+\)":\s\+(\(.*\)).*$/\1\t\2 (\3)/'
+
+end
diff --git a/share/functions/contains_seq.fish b/share/functions/contains_seq.fish
new file mode 100644
index 00000000..eca14ab4
--- /dev/null
+++ b/share/functions/contains_seq.fish
@@ -0,0 +1,50 @@
+function contains_seq --description 'Return true if array contains a sequence'
+ set -l printnext
+ switch $argv[1]
+ case --printnext
+ set printnext[1] 1
+ set -e argv[1]
+ end
+ set -l pattern
+ set -l string
+ set -l dest pattern
+ for i in $argv
+ if test "$i" = --
+ set dest string
+ continue
+ end
+ set $dest $$dest $i
+ end
+ set -l nomatch 1
+ set -l i 1
+ for s in $string
+ if set -q printnext[2]
+ echo $s
+ return 0
+ end
+ echo a $nomatch
+ if test "$s" = "$pattern[$i]"
+ echo b $nomatch
+ echo c $nomatch[1]
+ set -e nomatch[1]
+ set i (expr $i + 1)
+ if not set -q pattern[$i]
+ if set -q printnext[1]
+ set printnext[2] 1
+ continue
+ end
+ return 0
+ end
+ else
+ if not set -q nomatch[1]
+ set nomatch 1
+ set i 1
+ end
+ end
+ end
+ if set -q printnext[1]
+ echo ''
+ end
+ set -q printnext[2]
+end
+