diff options
Diffstat (limited to 'contrib/lzop')
-rw-r--r-- | contrib/lzop | 28 |
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 |