/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote * * SPDX-License-Identifier: GPL-3.0 */ #include "builtins.h" #include "configuration.h" #include "version.h" #include #include #include int builtins::version() { const auto version = QVersionNumber::fromString(QLatin1String(poi_Version)).toString().toStdString(); std::cout << "smolbote " << version << std::endl; return 0; } int builtins::build() { std::cout << poi_Version << std::endl; return 0; } int builtins::configuration(const std::string &progname, std::vector::const_iterator beginargs, std::vector::const_iterator endargs) { args::ArgumentParser parser("configuration"); parser.Prog(progname); args::HelpFlag help(parser, "help", "Display this help message and exit.", { 'h', "help" }); args::Flag dump(parser, "dump", "Dump currently used configuration and exit", { "dump" }); try { parser.ParseArgs(beginargs, endargs); } catch(args::Help &e) { std::cout << parser; return 0; } catch(args::Error &e) { std::cerr << e.what() << std::endl; std::cerr << parser; return -1; } if(dump) { Configuration conf; std::cout << conf << std::endl; return 0; } return 0; }