# abook(1) completion -*- shell-script -*- proc _abook { local cur prev words cword _init_completion || return # abook only takes options, tabbing after command name adds a single dash [[ $cword -eq 1 && -z "$cur" ]] && do { compopt -o nospace setglobal COMPREPLY = ''( "-" ) return 0 } match $cur { with -* _longopt abook return 0 } match $prev { with --informat setglobal COMPREPLY = ''( $( compgen -W "$($1 --formats | \ sed -n -e 's/^'$'\t''\([a-z]*\).*/\1/p' -e '/^$/q')" -- "$cur" ) ) return 0 with --outformat setglobal COMPREPLY = ''( $( compgen -W "$($1 --formats | \ sed -n -e '/^$/,$s/^'$'\t''\([a-z]*\).*/\1/p')" -- "$cur" ) ) return 0 with --infile setglobal COMPREPLY = ''( $( compgen -W stdin -- "$cur" ) ) _filedir return 0 with --outfile setglobal COMPREPLY = ''( $( compgen -W stdout -- "$cur" ) ) _filedir return 0 with --config|--datafile _filedir return 0 } } && complete -F _abook abook # ex: ts=4 sw=4 et filetype=sh