

___x_cmd_skill_lr___fzapp_(){
    x_=""
    ___x_cmd_runmode_allow_manual || N=skill M="Not supported in non-interactive mode" log:ret:64

    ___x_cmd_skill___data_check || return $?
    x_="$( ___X_CMD_RUNMODE="$___X_CMD_RUNMODE" ___x_cmdexe skill lr --fzdata )" || return $?

    [ -n "$x_" ] || return 1
}

___x_cmd_skill_lr___fz_data(){
    ___x_cmd_skill_lr___raw \
        | ___x_cmd_cmds awk -F'\t' -f "$___X_CMD_ROOT_MOD/skill/lib/awk/fz_data.awk" \
        | ___x_cmd_skill___fzf  \
            --prompt "[Skills] > " \
            --preview='___x_cmdexe skill info {1}'  \
            --preview-window='bottom:15,wrap'                  \
        | ___x_cmd_cmds awk '{print $1}'
}

___x_cmd_skill_lr___fz_preview(){
    local id="${1}"
    ___x_cmd skill info "$id"
}

___x_cmd_skill_lr___fzapp(){
    local x_=""; ___x_cmd_skill_lr___fzapp_ "$@" || return $?
    local skillid="$x_"
    [ -n "$skillid" ] || N=skill M="Nor found skill" log:ret:64

    local id=
    ___x_cmd ui select id "NEXT"   \
        "x skill info $skillid"    \
        "x skill add  $skillid"    \
        "return"     || return $?

    case "$id" in
        1)      ___x_cmd skill info "$skillid" ;;
        2)      ___x_cmd skill add  "$skillid" ;;
        *)      return 0 ;;
    esac
}

