
___x_cmd_paru_fz(){
    ___x_cmd_paru_fz___fzfapp "$@"
}

___x_cmd_paru_fz___fzfapp(){
    local software=; software="$(___x_cmd_paru_fz___runmain )" || return $?
    [ -n "$software" ] || {
        paru:error "Nor found software"
        return 1
    }

    local id
    ___x_cmd ui select id               \
        "Next for pacage -> $software"  \
        "x paru  -S      $software"     \
        "x paru info     $software"     \
        "browse repo of  $software"     \
        "Exit"

    case "$id" in
        1)      ___x_cmd paru -S "$software"   ;;
        2)      ___x_cmd paru info "$software" ;;
        3)      ___x_cmd browse "https://aur.archlinux.org/packages/${software}" ;;
        *)      return 0
    esac
}

___x_cmd_paru_fz___runmain(){
    {
        ___x_cmd_paru_ls___raw
    } | {
        FZF_DEFAULT_OPTS="
            $FZF_DEFAULT_OPTS
            --ansi
            --reverse
            --height='80%'
            --bind='ctrl-w:toggle-preview-wrap'
            --bind='ctrl-r:change-preview-window(right,70%|down,40%,99%,border-horizontal|hidden|right)'
            --preview-window=right:70%:wrap
            --preview='___x_cmdexe paru info --colr {1}'
        "   ___x_cmd fzf
    }
}
