52 lines
886 B
Bash

# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 noet filetype=sh
#
# 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