summaryrefslogtreecommitdiff
path: root/modules/operserv/sxline.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2017-11-19 16:11:35 -0500
committerAdam <Adam@anope.org>2017-11-19 16:11:35 -0500
commit2fda0fff4655e92e388d7823e5b1c1f0c6bcfe2d (patch)
treeb2cde60f3c2c98782690d67d134263924f59cc78 /modules/operserv/sxline.cpp
parent3fb9bb5118a5c3c6c916a48feed0e069867f3133 (diff)
Add subcommand syntax help, and reference subcommand help in syntax error messages
Diffstat (limited to 'modules/operserv/sxline.cpp')
-rw-r--r--modules/operserv/sxline.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/modules/operserv/sxline.cpp b/modules/operserv/sxline.cpp
index d8d373aa5..ebd6204f9 100644
--- a/modules/operserv/sxline.cpp
+++ b/modules/operserv/sxline.cpp
@@ -217,10 +217,26 @@ class CommandOSSXLineBase : public Command
else if (cmd.equals_ci("CLEAR"))
return this->OnClear(source);
else
- this->OnSyntaxError(source, "");
+ this->OnSyntaxError(source);
}
- virtual bool OnHelp(CommandSource &source, const Anope::string &subcommand) override = 0;
+ virtual bool OnHelp(CommandSource &source, const Anope::string &subcommand) override anope_abstract;
+
+ void OnSyntaxError(CommandSource &source, const Anope::string &subcommand = "") override
+ {
+ if (subcommand.equals_ci("ADD"))
+ {
+ SubcommandSyntaxError(source, subcommand, _("[+\037expiry\037] \037mask\037:\037reason\037"));
+ }
+ else if (subcommand.equals_ci("DEL"))
+ {
+ SubcommandSyntaxError(source, subcommand, _("{\037mask\037 | \037entry-num\037 | \037list\037 | \037id\037}"));
+ }
+ else
+ {
+ Command::OnSyntaxError(source, subcommand);
+ }
+ }
};
class CommandOSSNLine : public CommandOSSXLineBase