[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 06eed586ee8f52db8641b302bfe371a4053b0f06
Ville Skyttä
ville.skytta at iki.fi
Mon Jul 20 17:00:53 UTC 2009
The following commit has been merged in the master branch:
commit d3d1a9f895f77f1e540d206ef4f0d826a5149a5f
Author: Ville Skyttä <ville.skytta at iki.fi>
Date: Mon Jul 20 19:57:36 2009 +0300
Add xz, xzcat, xzdec, and unxz completion.
diff --git a/CHANGES b/CHANGES
index 5913102..e226c03 100644
--- a/CHANGES
+++ b/CHANGES
@@ -94,6 +94,7 @@ bash-completion (1.x)
* Associate .tsv with oocalc.
* Add xmlwf completion.
* Associate *.po with poedit, gtranslator, kbabel, and lokalize.
+ * Add xz, xzcat, xzdec, and unxz completion.
[ Todd Zullinger ]
* Make yum complete on filenames after install, deplist, update and upgrade
diff --git a/Makefile.am b/Makefile.am
index 3c80891..d903632 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -140,6 +140,7 @@ bashcomp_DATA = contrib/ant \
contrib/xmlwf \
contrib/xmms \
contrib/xrandr \
+ contrib/xz \
contrib/yp-tools \
contrib/yum
diff --git a/bash_completion b/bash_completion
index f1ccb20..f973616 100644
--- a/bash_completion
+++ b/bash_completion
@@ -107,6 +107,7 @@ complete -f -X '!*.@(Z|gz|tgz|Gz|dz)' gunzip
#complete -f -X '!*.@(Z|gz|tgz|Gz|dz)' zcmp zdiff zcat zegrep zfgrep zgrep zless zmore
complete -f -X '!*.*' zcmp zdiff zcat zegrep zfgrep zgrep zless zmore
complete -f -X '!*.Z' uncompress
+complete -f -X '!*.xz' unxz xzcat
complete -f -X '!*.@(gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|GIF|JP?(E)G|MIFF|TIF?(F)|PN[GM]|P[BGP]M|BMP|XPM|ICO|XWD|TGA|PCX)' ee
complete -f -X '!*.@(gif|jp?(e)g|tif?(f)|png|p[bgp]m|bmp|x[bp]m|rle|rgb|pcx|fits|pm|GIF|JPG|JP?(E)G|TIF?(F)|PNG|P[BGP]M|BMP|X[BP]M|RLE|RGB|PCX|FITS|PM)' xv qiv
complete -f -X '!*.@(@(?(e)ps|?(E)PS|pdf|PDF)?(.gz|.GZ|.bz2|.BZ2|.Z))' gv ggv kghostview
diff --git a/contrib/xz b/contrib/xz
new file mode 100644
index 0000000..fb6089d
--- /dev/null
+++ b/contrib/xz
@@ -0,0 +1,99 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+
+# xz(1) completion
+#
+have xz &&
+_xz()
+{
+ COMPREPLY=()
+ local cur=`_get_cword`
+ local prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-z --compress -d --decompress \
+ -t --test -l --list -k --keep -f --force -c --stdout \
+ -S --suffix --files --files0 -F --format -C --check \
+ -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -M --memory --lzma1 \
+ --lzma2 --x86 --powerpc --ia64 --arm --armthumb \
+ --sparc --delta -q --quiet -v --verbose -h --help \
+ -H --long-help -V --version' -- $cur ) )
+ return 0
+ fi
+
+ local split=false
+ _split_longopt && split=true
+
+ local xspec="*.xz"
+
+ case "$prev" in
+ -@(!(-*)[dlt]*|-decompress|-list|-test))
+ xspec="!"$xspec
+ ;;
+ --files|--files0)
+ _filedir
+ return 0
+ ;;
+ -C|--check)
+ COMPREPLY=( $( compgen -W 'crc32 crc64 sha256' \
+ -- $cur ) )
+ return 0
+ ;;
+ -F|--format)
+ COMPREPLY=( $( compgen -W 'auto xz lzma raw' -- $cur ) )
+ return 0
+ ;;
+ -M|--memory|-S|--suffix|--delta|--lzma1|--lzma2)
+ # argument required but no completions available
+ return 0
+ ;;
+ -h|--help|-H|--long-help|-V|--version)
+ # all other arguments are noop with these
+ return 0
+ ;;
+ esac
+
+ $split && return 0
+
+ _expand || return 0
+
+ local IFS=$'\t\n'
+ COMPREPLY=( $( compgen -f -X "$xspec" -- $cur ) \
+ $( compgen -d -- $cur ) )
+} &&
+complete -F _xz $filenames xz
+
+# xzdec(1) completion
+#
+have xzdec &&
+_xzdec()
+{
+ COMPREPLY=()
+ local cur=`_get_cword`
+ local prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-M --memory -h --help -V --version' \
+ -- $cur ) )
+ return 0
+ fi
+
+ local split=false
+ _split_longopt && split=true
+
+ case "$prev" in
+ -M|--memory)
+ # argument required but no completions available
+ return 0
+ ;;
+ -h|--help|-V|--version)
+ # all other arguments are noop with these
+ return 0
+ ;;
+ esac
+
+ $split && return 0
+
+ _filedir xz
+} &&
+complete -F _xzdec $filenames xzdec
--
bash-completion
More information about the Bash-completion-commits
mailing list