# shellcheck shell=dash

___x_cmd_md_main(){
    local op="$1"

    case "$op" in
        highlight|show|tty)
            shift; "___x_cmd_md_${op}" "$@"
            ;;

        translate|tran)
            # Using AI or translate API
            shift; ___x_cmd_md_tran "$@"
            ;;

        outline)
            # Parsing and get the outline of the markdown
            shift; ___x_cmd_md_tran "$@"
            ;;

        treeview)
            # Using a UI
            shift; ___x_cmd_md_treeview "$@"
            ;;

        llm)
            shift; ___x_cmd_md_llm "$@"
            ;;

        -h|--help)
                ___x_cmd help -m md
            ;;
        *)
            ___x_cmd_md_highlight "$@"
            ;;
    esac
}

___x_cmd_md_highlight(){
    # cat ${1+"$@"} | \
        ___x_cmd_cmds_awk \
            -v TH_COLOR_MAIN="$___X_CMD_THEME_COLOR" \
            -v TH_COLOR_MAIN1="$___X_CMD_THEME_COLOR" \
            -v TH_COLOR_MAIN2="$___X_CMD_THEME_COLOR" \
            -v cols="$COLUMNS" \
            -v filename="$BASENAME"\
            -f "$___X_CMD_ROOT_MOD/md/lib/awk/highlight/quick.awk" "$@"
}

# ___x_cmd md show ./.x-cmd/test_data/markdown.test.copy.md
___x_cmd_md_show(){
    local x_=""; ___x_cmd term color_ || x_=8
    # cat ${1+"$@"} | \
    ___x_cmd awk0 \
        -v TH_COLOR_MAIN="$___X_CMD_THEME_COLOR"    \
        -v TH_COLOR_MAIN1="$___X_CMD_THEME_COLOR"   \
        -v TH_COLOR_MAIN2="$___X_CMD_THEME_COLOR"   \
        -v cols="$COLUMNS"      \
        -v sytle_color="$x_"    \
        -v filename="$BASENAME" \
        -f "$___X_CMD_ROOT_MOD/awk/lib/re.awk"              \
        -f "$___X_CMD_ROOT_MOD/awk/lib/ui/ui.awk"           \
        -f "$___X_CMD_ROOT_MOD/awk/lib/u/wcwidth.awk"       \
        -f "$___X_CMD_ROOT_MOD/md/lib/awk/show/handle_util.awk"  \
        -f "$___X_CMD_ROOT_MOD/md/lib/awk/show/handle_list.awk"  \
        -f "$___X_CMD_ROOT_MOD/md/lib/awk/show/handle_table.awk" \
        -f "$___X_CMD_ROOT_MOD/md/lib/awk/show/handle_body.awk"  \
        -f "$___X_CMD_ROOT_MOD/md/lib/awk/show/handle.awk"       \
        -f "$___X_CMD_ROOT_MOD/md/lib/awk/show/cat_print.awk" "$@"
}

