diff options
Diffstat (limited to '')
-rw-r--r-- | completions/xsltproc | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/completions/xsltproc b/completions/xsltproc new file mode 100644 index 0000000..4cb7071 --- /dev/null +++ b/completions/xsltproc @@ -0,0 +1,49 @@ +# xsltproc(1) completion -*- shell-script -*- + +_xsltproc() +{ + local cur prev words cword + _init_completion || return + + case $prev in + --output | -o) + _filedir + return + ;; + # TODO : number only + --maxdepth) + return + ;; + --encoding) + # some aliases removed + COMPREPLY=($(compgen -X '@(UTF[1378]|8859|ISO[0-9_])*' \ + -W "$(iconv -l | command sed -e 's/\/.*//')" -- "$cur")) + return + ;; + --param | --stringparam) + return + ;; + # not really like --writesubtree + --path) + _filedir -d + return + ;; + --writesubtree) + _filedir -d + return + ;; + esac + + [[ $cword -gt 2 && $(_get_cword '' 2) == --?(string)param ]] && return + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + COMPREPLY=("${COMPREPLY[@]%:}") + else + # TODO: 1st file xsl|xslt, 2nd XML + _filedir '@(xsl|xslt|xml|dbk|docbook|page)' + fi +} && + complete -F _xsltproc xsltproc + +# ex: filetype=sh |