# xsltproc(1) completion -*- shell-script -*- proc _xsltproc { local cur prev words cword _init_completion || return match $prev { with --output|-o _filedir return 0 # TODO : number only with --maxdepth return 0 with --encoding # some aliases removed setglobal COMPREPLY = ''( $( compgen -W "$( iconv -l | sed -e '/^UTF[1378]/d' \ -e '/^ISO[0-9_]/d' -e '/^8859/d' -e 's/\/.*//')" -- "$cur" ) ) return 0 with --param|--stringparam return 0 # not really like --writesubtree with --path _filedir -d return 0 with --writesubtree _filedir -d return 0 } [[ $cword -gt 2 && `_get_cword '' 2` == --?(string)param ]] && \ return 0 if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) setglobal COMPREPLY = ''( "${COMPREPLY[@]%:}" ) } else { # TODO: 1st file xsl|xslt, 2nd XML _filedir '@(xsl|xslt|xml|dbk|docbook)' } } && complete -F _xsltproc xsltproc # ex: ts=4 sw=4 et filetype=sh