update runtime executable

This commit is contained in:
Hartmut Seichter 2022-01-04 23:27:19 +01:00
parent 7479bfd625
commit cd8dfd7b69

View file

@ -14,6 +14,7 @@
#include <iostream> #include <iostream>
#include <fstream> #include <fstream>
#include <sstream>
int main(int argc,const char** argv) { int main(int argc,const char** argv) {
@ -24,19 +25,36 @@ int main(int argc,const char** argv) {
argagg::parser_results args; argagg::parser_results args;
std::ostringstream usage;
usage
<< "pixwerx rendering engine\n"
<< '\n'
<< "Usage: " << argv[0] << " [--help] [--file filename.lua]\n"
<< '\n';
try { try {
args = argparser.parse(argc,argv); args = argparser.parse(argc,argv);
} catch (std::exception &e) { } catch (std::exception &e) {
std::cerr << e.what() << std::endl;
argagg::fmt_ostream help(std::cerr);
help << usage.str() << argparser << '\n'
<< "Encountered exception while parsing arguments: " << e.what()
<< '\n';
return -1; return -1;
} }
std::ifstream input; std::ifstream input;
// run a file
if (args["file"]) {
input.open(args["file"].as<std::string>(),std::ifstream::in); input.open(args["file"].as<std::string>(),std::ifstream::in);
if (!input.is_open()) { if (!input.is_open()) {
@ -55,4 +73,14 @@ int main(int argc,const char** argv) {
pw::script s; pw::script s;
return s.eval(sout.str().c_str()); return s.eval(sout.str().c_str());
// show help
} else if (args["help"]) {
argagg::fmt_ostream help(std::cerr);
help << usage.str() << argparser;
}
return 0;
} }