WsParser_VS/WsNovelManager/main.cpp

54 lines
1.8 KiB
C++

#include <QtCore/QCoreApplication>
#include <argsparser.h>
#include <iostream>
#include <QDebug>
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<MatchMode>(0x000au, u8"打印帮助信息!");
entry_parser << help_mode;
(*help_mode) << make_shared<IndexParam>(u8"nsmt", u8"程序名称")
<< make_shared<FloatOption>(u8"help", u8"帮助选项");
auto build_mode = make_shared<MatchMode>(0x000bu, u8"调用构建程序,编译故事线!");
entry_parser << build_mode;
(*build_mode) << make_shared<IndexParam>(u8"nsmt", u8"程序名称")
<< make_shared<FloatOption>(u8"nsc", u8"调用编译功能")
<< make_shared<FloatKeyValue>(u8"path", u8"源码目录路径", true)
<< make_shared<FloatKeyValue>(u8"dest", u8"生成目标目录");
auto anchor_mode = make_shared<MatchMode>(0x000cu, u8"设置里程碑");
entry_parser << anchor_mode;
(*anchor_mode) << make_shared<IndexParam>(u8"nsmt", u8"程序名称")
<< make_shared<FloatOption>(u8"mk_anchor", u8"设置里程碑");
auto cmp_mode = make_shared<MatchMode>(0x000du, u8"比较当前故事线和里程碑故事线");
entry_parser << cmp_mode;
(*cmp_mode) << make_shared<IndexParam>(u8"nsmt", u8"程序名称")
<< make_shared<FloatOption>(u8"cmp", u8"比较当前故事线内容");
auto graph_mode = make_shared<MatchMode>(0x000eu, u8"图形化显示当前内容");
entry_parser << graph_mode;
(*graph_mode) << make_shared<IndexParam>(u8"nsmt", u8"程序名称")
<< make_shared<FloatKeyValue>(u8"gmode", u8"设置图形化显示的模式");
auto rst = entry_parser.parse(argc, argv);
if (!rst) {
qDebug().noquote() << u8"命令行参数错误。";
qDebug().noquote() << entry_parser.helperDoc();
return 0;
}
if (rst->modeCode() == 0x000au) {
qDebug().noquote() << entry_parser.helperDoc();
}
return 0;
}