#include #include #include #include using namespace args_parse; using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); ArgsParser entry_parser; auto help_mode = make_shared(0x000au, u8"打印帮助信息!"); entry_parser << help_mode; (*help_mode) << make_shared(u8"nsmt", u8"程序名称") << make_shared(u8"help", u8"帮助选项"); auto build_mode = make_shared(0x000bu, u8"调用构建程序,编译故事线!"); entry_parser << build_mode; (*build_mode) << make_shared(u8"nsmt", u8"程序名称") << make_shared(u8"nsc", u8"调用编译功能") << make_shared(u8"path", u8"源码目录路径", true) << make_shared(u8"dest", u8"生成目标目录"); auto anchor_mode = make_shared(0x000cu, u8"设置里程碑"); entry_parser << anchor_mode; (*anchor_mode) << make_shared(u8"nsmt", u8"程序名称") << make_shared(u8"mk_anchor", u8"设置里程碑"); auto cmp_mode = make_shared(0x000du, u8"比较当前故事线和里程碑故事线"); entry_parser << cmp_mode; (*cmp_mode) << make_shared(u8"nsmt", u8"程序名称") << make_shared(u8"cmp", u8"比较当前故事线内容"); auto graph_mode = make_shared(0x000eu, u8"图形化显示当前内容"); entry_parser << graph_mode; (*graph_mode) << make_shared(u8"nsmt", u8"程序名称") << make_shared(u8"gmode", u8"设置图形化显示的模式"); auto rst = entry_parser.parse(argc, argv); std::cout << rst << std::endl; if (!rst) { qDebug().noquote() << u8"命令行参数错误"; qDebug().noquote() << entry_parser.helpDoc(); return 0; } return 0; }