# shellcheck shell=dash

___x_cmd_apk_ls(){
    [ "$#" -gt 0 ] ||       set -- --app

    case "$1" in
        -i|--installed)     shift; ___x_cmd_apk_ls___install         ;;
        -a|--all)           shift; ___x_cmd_apk_ls___all             ;;

        -A|--available)     shift; ___x_cmd_apk_ls___available       ;;
        -l|--local)         shift; ___x_cmd_apk_ls___local           ;;
        --app)              shift; ___x_cmd_apk_ls___app             ;;
        -h|--help)          shift; ___x_cmd help -m apk ls                  ;;
        *)                  ___x_cmd_apk___exec ls              "$@" ;;
    esac
}

___x_cmd_apk_ls___install(){
    ___x_cmd_cmds apk info
}

___x_cmd_apk_ls___all(){
    ___x_cmd_cmds apk search -q
}

___x_cmd_apk_ls___app(){
    ___x_cmd_apk_ls___local
}

___x_cmd_apk_ls___local(){
    if ___x_cmd_is_stdout2tty && ___x_cmd_runmode_allow_manual ; then
        apk:info "Find installed software"
        ___X_CMD_PICK_SHBIN_CODE="xrc apk" \
            ___x_cmd pick --width 40 --col 10 ___x_cmd_apk_ls___install
    else
        ___x_cmd_apk_ls___install
    fi
}

___x_cmd_apk_ls___available(){
    if ___x_cmd_is_stdout2tty && ___x_cmd_runmode_allow_manual ; then
        apk:info "Find installable software"
        ___X_CMD_PICK_SHBIN_CODE="xrc apk" \
            ___x_cmd pick --width 40 --col 10 ___x_cmd_apk_ls___all
        # ___x_cmd_apk_install___app "$@"
    else
        ___x_cmd_apk_ls___all
    fi
}

___x_cmd_apk_la(){
    case "$1" in
        -h|--help) ___x_cmd help -m apk la ; return ;;
    esac
    ___x_cmd_apk_ls___available
}
