54 lines
1.8 KiB
C++
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;
|
|
}
|