# shellcheck shell=dash
___x_cmd_pacman_ls(){
    [ "$#" -gt 0 ] ||       set -- --app

    local op="$1"; shift
    case "$op" in
        -i|--installed)     ___x_cmd_pacman_ls___install         ;;
        -a|--all)           ___x_cmd_pacman_ls___all             ;;

        -A|--available)     ___x_cmd_pacman_ls___available       ;;
        -l|--local)         ___x_cmd_pacman_ls___local           ;;
        --app)              ___x_cmd_pacman_ls___app             ;;
        -h|--help)          ___x_cmd help -m pacman ls           ;;
        *)                  ___x_cmd_pacman___exec ls "$op" "$@" ;;
    esac
}

___x_cmd_pacman_ls___install(){
    ___x_cmd_cmds pacman -Q  2>/dev/null | ___x_cmd_cmds sort
}

___x_cmd_pacman_ls___all(){
   ___x_cmd_pacman___lsraw
}

___x_cmd_pacman_ls___app(){
    ___x_cmd_pacman_ls___local
}

___x_cmd_pacman_ls___local(){
    if ___x_cmd_is_stdout2tty && ___x_cmd_runmode_allow_manual ; then
        pacman:info "Find installed software"
        local x=""
        ___X_CMD_PICK_SHBIN_CODE="xrc pacman" \
            ___x_cmd storeread_ x pick --width 40 --col 10  ___x_cmd_pacman_ls___install
    else
        ___x_cmd_pacman_ls___install
    fi
}

___x_cmd_pacman_ls___available(){
    if ___x_cmd_is_stdout2tty && ___x_cmd_runmode_allow_manual ; then
        pacman:info "Find installable software"
        local x=""
        ___X_CMD_PICK_SHBIN_CODE="xrc pacman" \
            ___x_cmd storeread_ x pick --width 40 --col 10 ___x_cmd_pacman_ls___all
    else
        ___x_cmd_pacman_ls___all
    fi
}

___x_cmd_pacman_la(){
    case "$1" in
        -h|--help) ___x_cmd help -m pacman la ; return ;;
    esac
    ___x_cmd_pacman_ls___available
}


