# shellcheck shell=dash disable=SC2016


___x_cmd_rfc_fzf(){
    local data
    data="$( ___X_CMD_RUNMODE="$___X_CMD_RUNMODE" ___x_cmdexe rfc --fzdata )" || return $?

    data="${data%%"${___X_CMD_UNSEENCHAR_011}"*}"
    data="${data%%" "*}"
    ___x_cmd rfc --fzfinfo "${data}"
}

___x_cmd_rfc___fz_data(){
    ___x_cmd_rfc_fzf___ls | {
        read -r line; ___x_cmd_rfc___fzf --layout=reverse --preview='___x_cmdexe rfc --fzfinfo {1}'
    }
}

___x_cmd_rfc_fzf___ls(){
    local NO_COLOR="$NO_COLOR"
    ___x_cmd_rfc_ls___csv | ___x_cmd csv awk '
    BEGIN{
        UI_KEY= "\033[36m"
        UI_NUM_VAR= "\033[35m"
        UI_STR_VAR= "\033[32m"
        UI_END= "\033[0m"
    }
    {
        printf( UI_NUM_VAR "%s\t" UI_END, cval(1) )
        printf( UI_KEY "%s\n" UI_END, cval(2) )
    }'
}

___x_cmd_rfc_fzfinfo(){
    local i="${1%%"${___X_CMD_UNSEENCHAR_011}"*}"
    i="${i%%" "*}"
    case "$i" in
        "000"*)      i="${i##000}"   ;;
        "00"*)       i="${i##00}"    ;;
        "0"*)        i="${i##0}"     ;;
    esac
    ___x_cmd rfc txt "$i"
}

___x_cmd_rfc___fzf(){

    FZF_DEFAULT_OPTS="
--ansi
--reverse
--height='80%'
--bind='ctrl-w:toggle-preview-wrap'
--bind='ctrl-r:change-preview-window(right,70%|down,40%,99%,border-horizontal|hidden|right)'
"   ___x_cmd fzf "$@"

}
