#compdef vkpurge

local context state state_descr line
typeset -A opt_args
local curcontext="$curcontext"

_arguments -C \
	'1: :->subcmd' \
	'*:: :->kernels'

case "$state" in
subcmd)
	local subcommands=(
		'list:list removable kernel versions'
		'rm:remove removable kernel versions'
	)
	_describe -t commands subcommand subcommands
	;;
kernels)
	curcontext="${curcontext%:*:*}:vkpurge-$line[1]:"
	case "$line[1]" in
	list)
		_arguments '1::version glob: '
		;;
	rm)
		local kernels=(
			'all:all removable kernels'
			$(vkpurge list all)
		)
		_describe -t kernels kernel kernels
		;;
	esac
	;;
esac
