diff options
Diffstat (limited to 'contrib/xmllint')
-rw-r--r-- | contrib/xmllint | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/contrib/xmllint b/contrib/xmllint new file mode 100644 index 00000000..ff201ec1 --- /dev/null +++ b/contrib/xmllint @@ -0,0 +1,56 @@ +# bash completion for xmllint(1) + +have xmllint && +_xmllint() +{ + local cur prev + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -o|--output) + _filedir + return 0 + ;; + --path|--dtdvalidfpi|--maxmem|--encode|--pattern) + # argument required but no completions available + return 0 + ;; + --dtdvalid) + _filedir dtd + return 0 + ;; + --relaxng) + _filedir rng + return 0 + ;; + --schema) + _filedir xsd + return 0 + ;; + --schematron) + _filedir sch + 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)' +} && +complete -F _xmllint $filenames 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 |