
___x_cmd_hua_songci300(){
    [ $# -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_songci300___"$fmt" "$@"
}


___x_cmd_hua_songci300___auto(){
    if ___x_cmd_is_stdout2tty && ___x_cmd_runmode_allow_manual; then
        ___x_cmd_hua_songci300___fzf
    else
        ___x_cmd_hua_songci300___tsv
    fi
}

___x_cmd_hua_songci300___app(){
    ___x_cmd_hua_songci300___csv | ___x_cmd csv --app
}

___x_cmd_hua_songci300___csv(){
    printf "%s,%s,%s,%s\n" rhythmic author content
    ___x_cmd_hua_songci300___json | \
        ___x_cmd jq -r '.[] | [ .rhythmic, .author,  ( .paragraphs | join("\n") ) ] | @csv'
}

___x_cmd_hua_songci300___tsv(){
    printf "%s,%s,%s,%s\n" rhythmic author content
    ___x_cmd_hua_songci300___json | \
        ___x_cmd jq -r '.[] | [ .rhythmic, .author, ( .paragraphs | join("\n") ) ] | @tsv'
}

___x_cmd_hua_songci300___json(){
    ___x_cmd_hua___cat "宋词/宋词三百首.json"
}


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

    ___x_cmd_hua_songci300___tsv      | \
        ___x_cmd_hua___tsvlabel     | \
        ___x_cmd_hua_songci300___fzfinfo___color
}

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


___x_cmd_hua_songci300___fzf(){
    local data; data="$( ___X_CMD_RUNMODE="$___X_CMD_RUNMODE" ___x_cmdexe hua songci300 --fzdata )" || return $?
    [ -z "$data" ] || ___x_cmd_hua_songci300___fzfinfo "$data"
}

___x_cmd_hua_songci300___fzdata(){
    ___x_cmd_hua_songci300___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 songci300 --fzfinfo {1}" --preview-window="right:40%,wrap"
}

