summaryrefslogtreecommitdiffstats
path: root/completions/xsltproc
diff options
context:
space:
mode:
Diffstat (limited to 'completions/xsltproc')
-rw-r--r--completions/xsltproc49
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