

# More stable, more reliable, more transparent.

___x_cmd_kimi_mapf(){
    local rulefilelist=""

    while [ $# -gt 0 ]; do
        case "$1" in
            -h|--help)      ___x_cmd help -m kimi mapf "$@" ; return 0 ;;
            -r|--rule)      rulefilelist="${rulefilelist}- ${2}${___X_CMD_UNSEENCHAR_NEWLINE}" ; arg:2:shift ;;
            -p|--prompt)    prompt="$2"; arg:2:shift ;;
            --)             shift; break ;;
            *)              break ;;
        esac
    done

    local fplist=""

    while [ $# -gt 0 ]; do
        case "$1" in
            --)     ___x_cmd_kimi_mapf___handle
                    fplist=""; shift ;;
            *)      fplist="${fplist}- ${1}${___X_CMD_UNSEENCHAR_NEWLINE}" ; shift ;;
        esac
    done

    ___x_cmd_kimi_mapf___handle
}

___x_cmd_kimi_mapf___handle(){
    [ -n "$fplist" ] || continue

    local final_prompt="
Please follow the rules specified in:
$rulefilelist

Process the following files:
$fplist
"

    [ -z "$prompt" ] || final_prompt="
Please follow the prompt:

$final_prompt
"

    ___x_cmd kimi --print -p "$final_prompt"
}

