# lzop(1) completion -*- shell-script -*- proc _lzop { var 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 } var xspec = '"*.?(t)lzo'" match $prev { with --decompress|--uncompress|--extract|--list|--ls|--info|--test set xspec = ""!"$xspec" with --force set xspec = '' with --* with -*f* set xspec = '' with -*[dltx]* set xspec = ""!"$xspec" } _expand || return 0 var 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