# strings(1) completion -*- shell-script -*- proc _strings { local cur prev words cword split _init_completion -s || return match $prev { with -h|--help|-v|-V|--version|-n|--bytes return with -t|--radix setglobal COMPREPLY = ''( $( compgen -W 'o d x' -- "$cur" ) ) return with -T|--target setglobal COMPREPLY = ''( $( compgen -W '$( LC_ALL=C "$1" --help 2>/dev/null | \ sed -ne "s/: supported targets: \(.*\)/\1/p" )' -- "$cur" ) ) return with -e|--encoding setglobal COMPREPLY = ''( $( compgen -W 's S b l B L' -- "$cur" ) ) return } $split && return if [[ $cur == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) [[ $COMPREPLY == *= ]] && compopt -o nospace return } elif [[ $cur == @* ]] { setglobal cur = $(cur:1) _filedir setglobal COMPREPLY = ''( "${COMPREPLY[@]/#/@}" ) return } _filedir } && complete -F _strings strings # ex: ts=4 sw=4 et filetype=sh