
___x_cmd_aur_fz(){
    local filter=0.001

    local sort_with_pop=""

    while [ $# -gt 0 ]; do
        case "$1" in
            -f|--filter)    filter="$2"  ;      arg:2:shift ;;
            -a|--all)       filter=0.000 ;      shift ;;

            -p)             sort_with_pop=1 ;   shift ;;
            *)              break
        esac
    done

    ___x_cmd_aur_update___ifneed
    ___x_cmd_aur_fz___run
}

___x_cmd_aur_fz___run(){
    local id

    local x_
    ___x_cmd storerat_ ___x_cmd_aur_fz___runfzf || return $?

    x_="$(
    ___x_cmd_cmds awk '{
            if ($3 ~ /[0-9]+.[0-9]+/) {
                print $5
            } else {
                print $4
            }
        }'<<A
$x_
A
)"

    ___x_cmd ui select id               \
        "Next for pacage -> $x_"        \
        "x aur info $x_"                \
        "x yay -S $x_"                  \
        "x paru -S $x_"                 \
        "pacman -Rns $x_"               \
        "Exit"

    case "$id" in
        1)      ___x_cmd aur info "$x_" ;;
        2)      ___x_cmd yay -S "$x_"   ;;
        3)      ___x_cmd paru -S "$x_"  ;;
        4)      pacman -Rns "$x_"       ;;
        *)      return 0
    esac
}

___x_cmd_aur_fz___runfzf(){
    ___x_cmd_aur__list 2>/dev/null | {
        POP_THROT="$filter" ___x_cmd_cmds awk \
            -f "$___X_CMD_ROOT_MOD/awk/lib/unixepoch.awk"   \
            -f "$___X_CMD_ROOT_MOD/aur/lib/awk/fzdata.awk"
    } | {
        ___x_cmd fzf    \
            --exact     \
            --ansi      \
            --reverse   \
            --prompt "[Filter: >=$filter] > " \
            --preview-window='bottom:15,wrap' \
            --preview "___x_cmdexe aur info --colr --indent '' {1}" \
            --header='ID         Popularity   Vote Name                                 Version       Desc   ( Maintainer Submitter ) ( OutOfDate First Modified ) URL BaseID BaseURL'
    }
}

___x_cmd_aur__list(){
    if [ -z "$sort_with_pop" ]; then
        ___x_cmd aur ls --tsv --filter "$filter"
    else
        ___x_cmd aur ls --tsv --filter "$filter" | ___x_cmd_cmds sort -nrk 2,3
    fi
}
