From eb4c557efa38673eba773bda6b71a286d0c3c3b1 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Thu, 2 Aug 2018 10:40:35 +0200 Subject: Add subcommand/parameter/option/flag and automatic help --- sinksh/syntax_modules/sink_sync.cpp | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'sinksh/syntax_modules/sink_sync.cpp') diff --git a/sinksh/syntax_modules/sink_sync.cpp b/sinksh/syntax_modules/sink_sync.cpp index f165f58..ee19f0a 100644 --- a/sinksh/syntax_modules/sink_sync.cpp +++ b/sinksh/syntax_modules/sink_sync.cpp @@ -37,6 +37,23 @@ namespace SinkSync { +bool sync(const QStringList &args, State &state); + +Syntax::List syntax() +{ + Syntax sync("sync", QObject::tr("Synchronizes a resource."), &SinkSync::sync, Syntax::EventDriven); + + sync.addPositionalArgument({ .name = "type", .help = "The type of resource to synchronize" }); + sync.addPositionalArgument({ .name = "resourceId", .help = "The ID of the resource to synchronize" }); + sync.addParameter("password", { .name = "password", .help = "The password of the resource", .required = true }); + + sync.completer = &SinkshUtils::resourceCompleter; + + return Syntax::List() << sync; +} + +REGISTER_SYNTAX(SinkSync) + bool sync(const QStringList &args, State &state) { auto options = SyntaxTree::parseOptions(args); @@ -80,14 +97,4 @@ bool sync(const QStringList &args, State &state) return true; } -Syntax::List syntax() -{ - Syntax sync("sync", QObject::tr("Synchronizes a resource."), &SinkSync::sync, Syntax::EventDriven); - sync.completer = &SinkshUtils::resourceCompleter; - - return Syntax::List() << sync; -} - -REGISTER_SYNTAX(SinkSync) - } -- cgit v1.2.3