# lzop(1) completion -*- shell-script -*- proc _lzop { local cur prev words cword _init_completion || return match $prev { with -o|--output _filedir return 0 with --path _filedir -d return 0 with -S|--suffix return 0 } if [[ "$cur" == -* ]] { setglobal 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 } local xspec="*.?(t)lzo" match $prev { with --decompress|--uncompress|--extract|--list|--ls|--info|--test setglobal xspec = ""!"$xspec" with --force setglobal xspec = '' with --* with -*f* setglobal xspec = '' with -*[dltx]* setglobal xspec = ""!"$xspec" } _expand || return 0 local IFS=$'\n' compopt -o filenames setglobal COMPREPLY = ''( $( compgen -f -X "$xspec" -- "$cur" ) \ $( compgen -d -- "$cur" ) ) } && complete -F _lzop lzop # ex: ts=4 sw=4 et filetype=sh