summaryrefslogtreecommitdiff
path: root/contrib/lzop
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/lzop')
-rw-r--r--contrib/lzop28
1 files changed, 11 insertions, 17 deletions
diff --git a/contrib/lzop b/contrib/lzop
index 9090bac4..19852b24 100644
--- a/contrib/lzop
+++ b/contrib/lzop
@@ -6,26 +6,20 @@ _lzop()
local cur prev xspec
COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- # TODO: -p: takes a dir argument, without a separating space
+ _get_comp_words_by_ref cur prev
if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-d -x -l -t -h -I -V -L -1 -2 -3 \
- -4 -5 -6 -7 -8 -9 -q -v -c -f -F -n -N -P -k -U -o \
- -S --fast --best --decompress --uncompress --extract \
- --test --list --ls --info --sysinfo --license --help \
- --version --stdout --to-stdout --output --path \
- --force --no-checksum --no-name --name --no-mode \
- --no-time --suffix --keep --unlink --delete --crc32 \
- --no-warn --ignore-warn --quiet --silent --verbose \
- --no-stdin --filter --checksum --no-color --mono \
+ COMPREPLY=( $( compgen -W '-1 -2 -3 -4 -5 -6 -7 -8 -9 -P \
+ --fast --best --decompress --extract --test --list --ls --info \
+ --sysinfo --license --help --version --stdout --output --path \
+ --force --no-checksum --no-name --name --no-mode --no-time \
+ --suffix --keep --delete --crc32 --no-warn --ignore-warn --quiet \
+ --verbose --no-stdin --filter --checksum --no-color --mono \
--color' -- "$cur" ) )
return 0
fi
- case "$prev" in
+ case $prev in
-o|--output)
_filedir
return 0
@@ -40,8 +34,8 @@ _lzop()
esac
xspec="*.?(t)lzo"
- case "$prev" in
- --@(@(de|un)compress|extract|list|ls|info|test))
+ case $prev in
+ --decompress|--uncompress|--extract|--list|--ls|--info|--test)
xspec="!"$xspec
;;
--force)
@@ -63,7 +57,7 @@ _lzop()
COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
$( compgen -d -- "$cur" ) )
} &&
-complete -F _lzop $filenames lzop
+complete -F _lzop -o filenames lzop
# Local variables:
# mode: shell-script