# bash completion for gphoto2(1) -*- shell-script -*- proc _gphoto2 { local cur prev words cword split _init_completion -s -n : || return case (prev) { --debug-logfile { _filedir return 0 } --hook-script { _filedir return 0 } --filename { _filedir return 0 } -u|--upload-file { _filedir return 0 } --port { setvar COMPREPLY = ''( $(compgen -W "$( $1 --list-ports 2>/dev/null | \ awk 'NR>3 { print $1 }' )" -- "$cur") ) __ltrim_colon_completions $cur return 0 } --camera { local IFS=$'\n' setvar COMPREPLY = ''( $(compgen -W "$( $1 --list-cameras 2>/dev/null | \ awk -F'"' 'NR>2 { print $2 }' )" -- "$cur") ) return 0 } --get-config|--set-config|--set-config-index|--set-config-value { setvar COMPREPLY = ''( $(compgen -W "$( $1 --list-config 2>/dev/null \ )" -- "$cur") ) return 0 } } $split && return if [[ "$cur" == -* ]] { setvar 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