# shellcheck shell=dash

___x_cmd_shim_gen(){
    # local lang="$1"
    # local model="$2"
    # shift 2;
    local lang="$1"; shift
    case "$lang" in
        shcode)
            model="${1}"; shift
            ___x_cmd_shim_gen_shcode_"${model}" "$@"
            ;;
        batcode)
            model="${1}"; shift
            ___x_cmd_shim_gen_batcode_"${model}" "$@"
            ;;
        winpty)
            ___x_cmd_shim_gen_winpty "$@"

    esac
    ___x_cmd_shim_gen_"${lang}"_"${model}" "$@"

}

___x_cmd_shim__gen_shcode_local(){
    local x_=
   ___x_cmd_shim__gen_shcode_local_ "$@"    || return
   printf "%s\n" "$x_"
}

___x_cmd_shim__gen_shcode_varset(){
    local x_=
    ___x_cmd_shim__gen_shcode_varset_ "$@"  || return
    printf "%s\n" "$x_"
}

___x_cmd_shim__gen_batcode_local(){
    local x_=
    ___x_cmd_shim__gen_batcode_local_ "$@"  || return
    printf "%s\n" "$x_"
}

___x_cmd_shim__gen_batcode_varset(){
    local x_=
    ___x_cmd_shim__gen_batcode_varset_ "$@"     || return
    printf "%s\n" "$x_"
}

___x_cmd_shim_cat(){
    local x_
    local lang="$1"
    local model="$2"
    shift 2;
    ___x_cmd_shim__gen_"${lang}"_"${model}" "$@"
    printf "%s\n" "$x_"

}
