# bash completion for xmllint(1) -*- shell-script -*- proc _xmllint { var cur = '', prev = '', words = '', cword = '' _init_completion || return match $prev { with -o|--output _filedir return 0 with --path|--dtdvalidfpi|--maxmem|--encode|--pattern # argument required but no completions available return 0 with --dtdvalid _filedir 'dtd?(.gz)' return 0 with --relaxng _filedir 'rng?(.gz)' return 0 with --schema _filedir 'xsd?(.gz)' return 0 with --schematron _filedir 'sch?(.gz)' return 0 } if [[ "$cur" == -* ]] { setglobal COMPREPLY = '( '$( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) setglobal COMPREPLY = '( '"${COMPREPLY[@]%:}" ) return 0 } _filedir '@(*ml|htm|svg?(z)|xs[dl]|rng|wsdl|jnlp|tld|dbk|docbook)?(.gz)' } && complete -F _xmllint xmllint # ex: ts=4 sw=4 et filetype=sh