add '--stdin-cmd' command line flag

This commit is contained in:
MihailRis 2026-02-11 16:01:46 +03:00
parent 7c0772b5b6
commit b200d38e48
4 changed files with 10 additions and 2 deletions

View file

@ -13,6 +13,8 @@ static std::thread reader_thread;
void start_stdin_reader(cmd::CommandsInterpreter& interpreter) {
reader_thread = std::thread([&interpreter]() {
logger.info() << "reader thread started";
std::string line;
while (std::getline(std::cin, line)) {
if (line.empty()) {

View file

@ -6,6 +6,7 @@
struct CoreParameters {
bool headless = false;
bool testMode = false;
bool stdinCommands = false;
std::filesystem::path resFolder = "res";
std::filesystem::path userFolder = ".";
std::filesystem::path scriptFile;

View file

@ -192,8 +192,9 @@ void Engine::initialize(CoreParameters coreParameters) {
if (!params.headless) {
project->loadProjectClientScript();
}
start_stdin_reader(*cmd);
if (params.stdinCommands) {
start_stdin_reader(*cmd);
}
}
void Engine::loadSettings() {

View file

@ -62,6 +62,10 @@ static bool perform_keyword(
params.headless = true;
return true;
}, "", "run in headless mode."),
ArgC("--stdin-cmd", [&params]() -> bool {
params.stdinCommands = true;
return true;
}, "", "run commands from stdin."),
ArgC("--tps", [&params, &reader]() -> bool {
params.tps = reader.nextInt();
return true;