command -v(--version) support. ast typeName method now returns magic_enum::enum_name

This commit is contained in:
2025-12-21 20:18:05 +08:00
parent 8323b9023a
commit acc2d33dbc
8 changed files with 51 additions and 59 deletions

View File

@@ -71,7 +71,12 @@ int main(int argc, char **argv)
{
argparse::ArgumentParser program("Fig Interpreter", Fig::Core::VERSION.data());
program.add_argument("source")
.help("source file to be interpreted");
.help("source file to be interpreted")
.default_value(std::string(""));
program.add_argument("-v", "--version")
.help("get the version of Fig Interpreter")
.default_value(false)
.implicit_value(true);
// interpreter
try
@@ -83,8 +88,17 @@ int main(int argc, char **argv)
std::cerr << e.what() << '\n';
return 1;
}
if (program.get<bool>("--version"))
{
std::print("Fig Interpreter version {}\n", Fig::Core::VERSION);
return 0;
}
Fig::FString sourcePath(program.get<std::string>("source"));
if (sourcePath.empty())
{
std::cerr << "No source file provided.\n";
return 1;
}
std::ifstream file(sourcePath.toBasicString());
if (!file.is_open())
{