
___x_cmd_hua_caocao(){
    [ $# -gt 0 ]    ||      set -- -help
    local fmt=auto

    local op="$1";  shift
    case "$op" in
        --csv|--json|--app|--fzf|--fzfinfo|--fzdata)     fmt=${op#--} ;;
    esac

    ___x_cmd_hua_caocao___"$fmt" "$@"
}


___x_cmd_hua_caocao___auto(){
    if ___x_cmd_is_stdout2tty && ___x_cmd_runmode_allow_manual; then
        ___x_cmd_hua_caocao___fzf
    else
        ___x_cmd_hua_caocao___tsv
    fi
}

___x_cmd_hua_caocao___app(){
    ___x_cmd_hua_caocao___csv | ___x_cmd csv --app
}

___x_cmd_hua_caocao___csv(){
    printf "%s,%s,%s,%s\n" title chapter section content
    ___x_cmd_hua_caocao___json | \
        ___x_cmd jq -r '.[] | [ .title,  ( .paragraphs | join("\n") ) ] | @csv'
}

___x_cmd_hua_caocao___tsv(){
    printf "%s,%s,%s,%s\n" title chapter section content
    ___x_cmd_hua_caocao___json | \
        ___x_cmd jq -r '.[] | [ .title, ( .paragraphs | join("\n") ) ] | @tsv'
}

___x_cmd_hua_caocao___json(){
    ___x_cmd_hua___cat "曹操诗集/caocao.json"
}


___x_cmd_hua_caocao___fzfinfo(){
    local data="$1"
    data="${data%%"$___X_CMD_UNSEENCHAR_011"*}"

    ___x_cmd_hua_caocao___tsv      | \
        ___x_cmd_hua___tsvlabel     | \
        ___x_cmd_hua_caocao___fzfinfo___color
}

___x_cmd_hua_caocao___fzfinfo___color(){
    a="$data" command awk -f "$___X_CMD_ROOT_MOD/hua/lib/awk/fzfinfo.awk"
}


___x_cmd_hua_caocao___fzf(){
    local data; data="$( ___X_CMD_RUNMODE="$___X_CMD_RUNMODE" ___x_cmdexe hua caocao --fzdata )" || return $?
    [ -z "$data" ] || ___x_cmd_hua_caocao___fzfinfo "$data"
}

___x_cmd_hua_caocao___fzdata(){
    ___x_cmd_hua_caocao___tsv              \
        |   ___x_cmd_hua___tsvlabel         \
        |   ___x_cmd_hua___fzfpretty        \
        |   command awk -v FS='\t' '{
                printf("\033[2m" "%s\t" "\033[0;32m" "%-12s\t" "\033[2;33m"  "%s\t" "\033[2;37m" "%s\t"  "\033[0;36m" "%s\n", $1, $2, $3, $4, $5)
            }' \
        |   ___x_cmd_hua___fzf --preview="___x_cmdexe hua caocao --fzfinfo {1}" --preview-window="right:40%,wrap"
}

