#compdef apmpkg

_apmpkg() {
	typeset -A opt_args
	local ret=1

	local context curcontext="$curcontext" state line
    _arguments -s -S -C \
"-d+[Instala la dependencia especificada]" \
"--instalar_dependencia+[Instala la dependencia especificada]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"1:: :_apmpkg_commands" \
"*:: :->apmpkg" \
&& ret=0
    case $state in
    (apmpkg)
        curcontext="${curcontext%:*:*}:apmpkg-command-$words[1]:"
        case $line[1] in
            (instalar)
_arguments -s -S -C \
"-u+[Direccion URL del archivo adi o abc]" \
"--url+[Direccion URL del archivo adi o abc]" \
"-c[No se interactua con el usuario en la confirmacion]" \
"--confirmar[No se interactua con el usuario en la confirmacion]" \
"-b[Creacion de un binario apartir de un adi o abc]" \
"--binario[Creacion de un binario apartir de un adi o abc]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"1:: :_apmpkg_instalar_commands" \
&& ret=0
;;
(remover)
_arguments -s -S -C \
"-c[No se interactua con el usuario en la confirmacion]" \
"--confirmar[No se interactua con el usuario en la confirmacion]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"1:: :_apmpkg_remover_commands" \
&& ret=0
;;
(crear)
_arguments -s -S -C \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"1:: :_apmpkg_crear_commands" \
&& ret=0
;;
(construir)
_arguments -s -S -C \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"1:: :_apmpkg_construir_commands" \
&& ret=0
;;
(help)
_arguments -s -S -C \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
&& ret=0
;;
(help)
_arguments -s -S -C \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
&& ret=0
;;
(help)
_arguments -s -S -C \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
"-h[Prints help information]" \
"--help[Prints help information]" \
"-V[Prints version information]" \
"--version[Prints version information]" \
&& ret=0
;;
        esac
    ;;
esac
}

(( $+functions[_apmpkg_commands] )) ||
_apmpkg_commands() {
    local commands; commands=(
        "instalar:Instala/actualiza un paquete" \
"remover:Desinstala un paquete" \
"crear:Crea un prototipo para archivo .adi o .abc" \
"construir:Crea un binario apartir de un archivo adi o abc" \
"help:Prints this message or the help of the given subcommand(s)" \
"help:Prints this message or the help of the given subcommand(s)" \
"help:Prints this message or the help of the given subcommand(s)" \
    )
    _describe -t commands 'apmpkg commands' commands "$@"
}
(( $+functions[_apmpkg_construir_commands] )) ||
_apmpkg_construir_commands() {
    local commands; commands=(
        "PAQUETE:Ruta del archivo adi o abc a construir el binario" \
    )
    _describe -t commands 'apmpkg construir commands' commands "$@"
}
(( $+functions[_apmpkg_crear_commands] )) ||
_apmpkg_crear_commands() {
    local commands; commands=(
        "TIPO:Tipo de paquete: adi | abc" \
"NOMBRE:Nombre del paquete" \
    )
    _describe -t commands 'apmpkg crear commands' commands "$@"
}
(( $+functions[_apmpkg_help_commands] )) ||
_apmpkg_help_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'apmpkg help commands' commands "$@"
}
(( $+functions[_apmpkg_instalar_commands] )) ||
_apmpkg_instalar_commands() {
    local commands; commands=(
        "PAQUETE:Nombre y/o ruta del archivo adi , abi o abc" \
    )
    _describe -t commands 'apmpkg instalar commands' commands "$@"
}
(( $+functions[_apmpkg_remover_commands] )) ||
_apmpkg_remover_commands() {
    local commands; commands=(
        "PAQUETE:Nombre del paquete a desinstalar" \
    )
    _describe -t commands 'apmpkg remover commands' commands "$@"
}

_apmpkg "$@"
