home *** CD-ROM | disk | FTP | other *** search
- # abook(1) completion
-
- have abook &&
- _abook()
- {
- local cur prev
-
- COMPREPLY=()
- _get_comp_words_by_ref cur prev
-
- # abook only takes options, tabbing after command name adds a single
- # dash (bash4)
- [[ ${BASH_VERSINFO[0]} -ge 4 && $COMP_CWORD -eq 1 && -z "$cur" ]] &&
- {
- compopt -o nospace
- COMPREPLY=( "-" )
- return 0
- }
-
- case $cur in
- -*)
- _longopt abook
- return 0
- ;;
- esac
-
- case $prev in
- --informat)
- [ ${BASH_VERSINFO[0]} -ge 4 ] && compopt +o filenames
- COMPREPLY=( $( compgen -W "$(abook --formats | \
- sed -n -e 's/^\t\([a-z]*\).*/\1/p' -e '/^$/q')" -- "$cur" ) )
- return 0
- ;;
- --outformat)
- [ ${BASH_VERSINFO[0]} -ge 4 ] && compopt +o filenames
- COMPREPLY=( $( compgen -W "$(abook --formats | \
- sed -n -e '/^$/,$s/^\t\([a-z]*\).*/\1/p')" -- "$cur" ) )
- return 0
- ;;
- --infile)
- COMPREPLY=( $( compgen -W stdin -- "$cur" ) )
- _filedir
- return 0
- ;;
- --outfile)
- COMPREPLY=( $( compgen -W stdout -- "$cur" ) )
- _filedir
- return 0
- ;;
- --config|--datafile)
- _filedir
- return 0
- ;;
- esac
- } &&
- complete -F _abook -o filenames abook
-
- # Local variables:
- # mode: shell-script
- # sh-basic-offset: 4
- # sh-indent-comment: t
- # indent-tabs-mode: nil
- # End:
- # ex: ts=4 sw=4 et filetype=sh
-