# iconv(1) completion -*- shell-script -*- _iconv_charsets() { COMPREPLY+=( $(compgen -X ... -W '$(${1:-iconv} -l | \ command sed -e "s@/*\$@@" -e "s/[,()]//g")' -- "$cur") ) } _iconv() { local cur prev words cword split _init_completion -s || return case $prev in --help|--usage|--version|--unicode-subst|--byte-subst|\ --widechar-subst|-!(-*)[?V]) return ;; --from-code|--to-code|-!(-*)[ft]) _iconv_charsets $1 return ;; --output|-!(-*)o) _filedir return ;; esac $split && return if [[ "$cur" == -* ]]; then COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") ) [[ $COMPREPLY == *= ]] && compopt -o nospace fi } && complete -F _iconv -o default iconv # ex: filetype=sh