# bash completion for xmllint(1) have xmllint && _xmllint() { local cur prev COMPREPLY=() _get_comp_words_by_ref cur prev case $prev in -o|--output) _filedir return 0 ;; --path|--dtdvalidfpi|--maxmem|--encode|--pattern) # argument required but no completions available return 0 ;; --dtdvalid) _filedir 'dtd?(.gz)' return 0 ;; --relaxng) _filedir 'rng?(.gz)' return 0 ;; --schema) _filedir 'xsd?(.gz)' return 0 ;; --schematron) _filedir 'sch?(.gz)' return 0 ;; esac if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( xmllint --help 2>&1 | \ sed -ne "s/^[[:space:]]*\(--[^[:space:]:]*\).*/\1/p" ) \ -o' -- "$cur" ) ) return 0 fi _filedir '@(*ml|htm|svg|xs[dl]|rng|wsdl|jnlp)?(.gz)' } && complete -F _xmllint xmllint # Local variables: # mode: shell-script # sh-basic-offset: 4 # sh-indent-comment: t # indent-tabs-mode: nil # End: # ex: ts=4 sw=4 et filetype=sh