
___x_cmd_gtb_show(){
    ___x_cmd_gtb_show___auto "$@"
}

___x_cmd_gtb_show___auto(){
    local data="$1"

    ___x_cmd is int "$data" || N=gtb M="Invalid id -> $data" log:ret:64

    if ___x_cmd_is_stdout2tty; then
        (       # Wired, this is to ensure the ctrl-c works
            ___x_cmd_gtb_txt_ccat "$@" | ___x_cmd bat
        ) || {
            gtb:info "hi -> ${data}"
            local id
            local cmd
            ___x_cmd ui select id,cmd "Next for book ${data}"      \
                "x gtb show         ${data}"            \
                "x gtb txt          ${data}"            \
                "x gtb open --meta  ${data}"            \
                "x gtb open --pub   ${data}"            \
                "x gtb open --txt   ${data}"            \
                "return 0" || return

            [ -z "$id" ] || eval "$cmd"
        }
        gtb:info \
            --show "x gtb show         ${data}"    \
            --txt " x gtb txt          ${data}"    \
            --idx " x gtb open --meta  ${data}"    \
            --pub " x gtb open --pub   ${data}"    \
            --txt " x gtb open --text  ${data}"    \
            "Possible operateion for Book -> $data :"
    else
        ___x_cmd_gtb_show___raw "$@"
    fi
}

___x_cmd_gtb_show___raw(){
    ___x_cmd_gtb_txt_cat "$@" | command awk -f "$___X_CMD_ROOT_MOD/gtb/lib/awk/show.awk"
}
