diff options
Diffstat (limited to 'completions/pkgrm')
-rw-r--r-- | completions/pkgrm | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/completions/pkgrm b/completions/pkgrm new file mode 100644 index 0000000..2449d34 --- /dev/null +++ b/completions/pkgrm @@ -0,0 +1,46 @@ +# pkgrm completion -*- shell-script -*- +# +# Copyright 2006 Yann Rouillard <yann@opencsw.org> + +_pkgrm() +{ + local cur prev words cword + _init_completion || return + + # if a spool directory was given + # we must complete with the package + # available in this directory + local spool=/var/sadm/pkg + local i=$cword + while ((i-- > 0)); do + ((i--)) + case "${words[i]}" in + -s) + spool="${words[i + 1]}" + break + ;; + esac + done + + case $prev in + -a | -V) + _filedir + ;; + -s | -R) + _filedir -d + ;; + -Y) ;; + + *) + if [[ ${cur} == -* ]]; then + local opts="-a -A -n -M -R -s -v -V -Y" + COMPREPLY=($(compgen -W "${opts}" -- ${cur})) + else + COMPREPLY=($(compgen -W "$(/bin/ls -1 $spool)" -- ${cur})) + fi + ;; + esac +} && + complete -F _pkgrm pkgrm + +# ex: filetype=sh |