#compdef etckeeper

local _VCS=$(sed -n "s,^VCS=\([\"']\?\)\(.*\)\1$,\2,p" \
    ${ETCKEEPER_CONF_DIR:-/usr/pkg/etc/etckeeper}/etckeeper.conf 2>/dev/null)

_arguments '--help[show this help message and exit]' \
    '--version[show version information]' \
    ":etckeeper command:(/usr/pkg/etc/etckeeper/*.d(/:t:r))" \
    '*::subcmd:->subcmd' && return 0

case "$words[1]" in
(commit)
    _arguments ':message text: '
    ;;
(update-ignore)
    _arguments '-a[add a "managed by etckeeper" block]'
    ;;
(uninit)
    _arguments '-f[force uninit without prompting]'
    ;;
(vcs)
    [[ $_VCS == git ]] && service=git
    _$_VCS
    ;;
(*)
    ;;
esac
