import { ITerminal } from "../ITerminal"; import { IEngine } from "../../IEngine"; import { IPlayer } from "../../PersonObjects/IPlayer"; import { BaseServer } from "../../Server/BaseServer"; import { isScriptFilename } from "../../Script/ScriptHelpersTS"; import { runScript } from "./runScript"; import { runProgram } from "./runProgram"; export function run( terminal: ITerminal, engine: IEngine, player: IPlayer, server: BaseServer, args: (string | number)[], ): void { // Run a program or a script if (args.length < 1) { terminal.error("Incorrect number of arguments. Usage: run [program/script] [-t] [num threads] [arg1] [arg2]..."); } else { const executableName = args[0] + ""; // Secret Music player! // if (executableName === "musicplayer") { // post( // '', // false, // ); // return; // } // Check if its a script or just a program/executable if (isScriptFilename(executableName)) { runScript(terminal, engine, player, server, args); } else if (executableName.endsWith(".cct")) { terminal.runContract(player, executableName); } else { runProgram(terminal, engine, player, server, args); } } }