# bash completion for gphoto2(1) -*- shell-script -*- proc _gphoto2 { var cur = '', prev = '', words = '', cword = '', split = '' _init_completion -s -n : || return match $prev { with --debug-logfile _filedir return 0 with --hook-script _filedir return 0 with --filename _filedir return 0 with -u|--upload-file _filedir return 0 with --port setglobal COMPREPLY = '( '$(compgen -W "$( $1 --list-ports 2>/dev/null | \ awk 'NR>3 { print $1 }' )" -- "$cur") ) __ltrim_colon_completions $cur return 0 with --camera var IFS = '$'\n'' setglobal COMPREPLY = '( '$(compgen -W "$( $1 --list-cameras 2>/dev/null | \ awk -F'"' 'NR>2 { print $2 }' )" -- "$cur") ) return 0 with --get-config|--set-config|--set-config-index|--set-config-value setglobal COMPREPLY = '( '$(compgen -W "$( $1 --list-config 2>/dev/null \ )" -- "$cur") ) return 0 } $split && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = '( '$( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) [[ $COMPREPLY == *= ]] && compopt -o nospace return 0 } } && complete -F _gphoto2 gphoto2 # ex: ts=4 sw=4 et filetype=sh