This commit is contained in:
codeboss 2024-10-02 10:03:19 +08:00
parent d0fa2671fa
commit aa9cdff7a4
3 changed files with 12 additions and 17 deletions

View File

@ -34,8 +34,8 @@ bool __FloatArgvImpls::optional() const {
return optional_value;
}
QString args_parse::FloatKeyValue::placeHolder() const {
if (optional())
QString args_parse::FloatKeyValue::placeHolder(bool v) const {
if (optional() && v)
return QString("[--%1 <%2>]").arg(bindKey(), bindKey());
return QString("--%1 <%2>").arg(bindKey(), bindKey());
}
@ -57,7 +57,7 @@ bool FloatKeyValue::parse(const QList<QString> args, int start) {
IndexParam::IndexParam(const QString& place_v, const QString& means)
: __ArgvPackImpls(means, ParamType::IndexParam), _place_holder(place_v) { }
QString args_parse::IndexParam::placeHolder() const {
QString args_parse::IndexParam::placeHolder(bool v) const {
return QString("<%1>").arg(_place_holder);
}
@ -77,8 +77,8 @@ FloatOption::FloatOption(const QString& key, const QString& means, bool opt)
: __FloatArgvImpls(key, means, opt) {
}
QString args_parse::FloatOption::placeHolder() const {
if (optional())
QString args_parse::FloatOption::placeHolder(bool d) const {
if (optional() && d)
return QString("[--%1]").arg(bindKey());
return QString("--%1").arg(bindKey());
}
@ -124,7 +124,7 @@ QString args_parse::MatchMode::explanString() const {
sections << QString(" Switch:");
for (auto& item : args_mode) {
sections << " " + item->placeHolder();
sections << " " + item->placeHolder(false);
sections << " " + item->means();
}

View File

@ -35,7 +35,7 @@ namespace args_parse {
* \return ½âÊÍ
*/
virtual QString means() const = 0;
virtual QString placeHolder() const = 0;
virtual QString placeHolder(bool decorate = true) const = 0;
virtual QVariant value() const = 0;
/**
* @brief Æ¥Å䳤È.
@ -98,7 +98,7 @@ namespace args_parse {
explicit FloatKeyValue(const QString& key, const QString &means, bool optional = false);
virtual ~FloatKeyValue() = default;
virtual QString placeHolder() const override;
virtual QString placeHolder(bool decorate = true) const override;
virtual int matchLenth() const override;
bool parse(const QList<QString> args, int start) override;
};
@ -119,7 +119,7 @@ namespace args_parse {
explicit FloatOption(const QString& key, const QString& means, bool optional = false);
virtual ~FloatOption() = default;
virtual QString placeHolder() const override;
virtual QString placeHolder(bool decorate = true) const override;
virtual int matchLenth() const override;
bool parse(const QList<QString> args, int start) override;
};
@ -136,7 +136,7 @@ namespace args_parse {
virtual ~IndexParam() = default;
// ͨ¹ý __ArgvPackImpls ¼Ì³Ð
virtual QString placeHolder() const override;
virtual QString placeHolder(bool decorate = true) const override;
int matchLenth() const override;
bool parse(const QList<QString> args, int start) override;
};

View File

@ -20,13 +20,7 @@ using namespace example_novel;
using namespace std;
using namespace args_parse;
/*
* nsc --help
* nsc -[pw] --path path-to-dir [--out path-to-dir]
* opts:
* p print-struct
* w print-web web页面输出格式
*/
int main(int argc, char* argv[]) {
QCoreApplication a(argc, argv);
@ -52,6 +46,7 @@ int main(int argc, char* argv[]) {
switch (p_result->modeCode()) {
case 0xAu:
default:
qDebug().noquote() << u8"命令行参数错误!";
qDebug().noquote() << args_parser.helpDoc();
break;
case 0xBu: