49 lines
1.1 KiB
Bash

# bash completion for dnssec-keygen(8) -*- shell-script -*-
_dnssec_keygen_optarg()
{
local args=$("$1" -h 2>&1 |
command sed -e 's/|/ /g' -e 's/(.*//' \
-ne '/^[[:space:]]*'$2'/,/^[[:space:]]*[(-]/p' |
command sed -e 's/^[[:space:]]*'$2'.*://' -e '/^[[:space:]]*-/d')
COMPREPLY+=($(compgen -W '$args' -- "$cur"))
}
_dnssec_keygen()
{
local cur prev words cword
_init_completion || return
case $prev in
-[hbEgLpsPARIDSi])
return
;;
-K)
_filedir -d
return
;;
-[ancdfTtm])
_dnssec_keygen_optarg "$1" $prev
return
;;
-r)
cur=${cur:=/dev/}
_filedir
return
;;
-v)
COMPREPLY=($(compgen -W '{0..10}' -- "$cur"))
return
;;
esac
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '$(_parse_help "$1" | \
command sed -e "s/:\$//")' -- "$cur"))
return
fi
} &&
complete -F _dnssec_keygen dnssec-keygen
# ex: filetype=sh