
___x_cmd_docker_fz_img(){
    case "$1" in
        -h|--help)
            ___x_cmd help -m docker fz img "$@"; return 0 ;;
        --preview)
            shift
            ___x_cmd_docker_fz_img___preview "$@"; return $? ;;
    esac

    ___x_cmd_docker_fz___info

    local ___X_CMD_DOCKER_FZ_APP=img
    while true; do
        ___x_cmd_docker_fz_"${___X_CMD_DOCKER_FZ_APP}"_main || return $?
    done
}

___x_cmd_docker_fz_img_main(){

    while [ $# -gt 0 ]; do
        case "$1" in
            -h|--help)
                ___x_cmd help -m docker fz img "$@"; return 0 ;;

            --preview)
                shift
                ___x_cmd_docker_fz_img___preview "$@"; return $? ;;
            *)
                break ;;
        esac
        shift
    done

    local x_
    local id
    local repo_tags

    while true; do
        ___x_cmd storerat_ ___x_cmd_docker_fz_img___fz || return $?

        case "$x_" in
            "|switch|"*)
                ___X_CMD_DOCKER_FZ_APP=ps
                return 0
                ;;
            "|goback|"*)
                ___X_CMD_DOCKER_FZ_APP=ps
                return 0
                ;;
        esac

        id="${x_%%"${___X_CMD_UNSEENCHAR_HT}"*}"
        repo_tags="$(___x_cmd docker image inspect "$id" --format '{{index .RepoTags 0}}')"

        local ___X_CMD_DOCKER_IMG_EXIT=""
        ___x_cmd_docker_images___app_choose "$id" "$repo_tags" || return $?

        [ -z "$___X_CMD_DOCKER_IMG_EXIT" ] || return 0
    done
}

___x_cmd_docker_fz_img___fz(){
    ___x_cmd docker img ls --tsv | {
        ___x_cmd_cmds awk -f "$___X_CMD_ROOT_MOD/docker/lib/fz/awk/img.awk"
    } | {
        FZF_DEFAULT_OPTS="
            $FZF_DEFAULT_OPTS
            --exact
            --ansi
            --reverse
            --height='80%'
            --bind='ctrl-w:toggle-preview-wrap'
            --bind='ctrl-r:change-preview-window(80%|90%|hidden)'
            --bind='tab:print(|goback|)+accept'
            --bind='ctrl-s:print(|switch|)+accept'
            --bind='right:accept'
            --preview-window='down:60%,wrap'
            --preview='___x_cmdexe docker fz img --preview {1}'
        "   ___x_cmd fzf --with-nth=1,2,3,4,5,6,7 \
            --header='[id] [virtual_size] [created_at]  [repository:tag] [created_since]' \
            --delimiter='\t' --ansi
    }
}

___x_cmd_docker_fz_img___preview(){
    ___x_cmd docker inspect "$1" | ___X_CMD_JSON2YML_COLOR=1 ___x_cmd j2y
}

