aboutsummaryrefslogtreecommitdiff
path: root/args.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'args.hxx')
-rw-r--r--args.hxx19
1 files changed, 10 insertions, 9 deletions
diff --git a/args.hxx b/args.hxx
index 42934bc..dc802ad 100644
--- a/args.hxx
+++ b/args.hxx
@@ -2358,7 +2358,10 @@ namespace args
#endif
}
- flag->ParseValue(values);
+ if (!readCompletion)
+ {
+ flag->ParseValue(values);
+ }
if (flag->KickOut())
{
@@ -2405,7 +2408,10 @@ namespace args
#endif
}
- flag->ParseValue(values);
+ if (!readCompletion)
+ {
+ flag->ParseValue(values);
+ }
if (flag->KickOut())
{
@@ -3109,18 +3115,13 @@ namespace args
virtual ~HelpFlag() {}
- virtual FlagBase *Match(const EitherFlag &arg) override
+ virtual void ParseValue(const std::vector<std::string> &)
{
- if (FlagBase::Match(arg))
- {
#ifdef ARGS_NOEXCEPT
error = Error::Help;
- return this;
#else
- throw Help(arg.str());
+ throw Help(Name());
#endif
- }
- return nullptr;
}
/** Get whether this was matched