summaryrefslogtreecommitdiffstats
path: root/sinksh/syntax_modules/sink_drop.cpp
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2018-08-02 10:40:35 +0200
committerMinijackson <minijackson@riseup.net>2018-08-02 10:40:35 +0200
commiteb4c557efa38673eba773bda6b71a286d0c3c3b1 (patch)
tree570600682e6a21f6f5edefab880ef20f4f298e18 /sinksh/syntax_modules/sink_drop.cpp
parenta24bf3db83d81d7d7677a1f0f750f208d32998a8 (diff)
downloadsink-eb4c557efa38673eba773bda6b71a286d0c3c3b1.tar.gz
sink-eb4c557efa38673eba773bda6b71a286d0c3c3b1.zip
Add subcommand/parameter/option/flag and automatic help
Diffstat (limited to 'sinksh/syntax_modules/sink_drop.cpp')
-rw-r--r--sinksh/syntax_modules/sink_drop.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/sinksh/syntax_modules/sink_drop.cpp b/sinksh/syntax_modules/sink_drop.cpp
index 3b9a817..2353ed1 100644
--- a/sinksh/syntax_modules/sink_drop.cpp
+++ b/sinksh/syntax_modules/sink_drop.cpp
@@ -35,10 +35,23 @@
35namespace SinkDrop 35namespace SinkDrop
36{ 36{
37 37
38bool drop(const QStringList &args, State &state);
39
40Syntax::List syntax()
41{
42 Syntax drop("drop", QObject::tr("Drop all caches of a resource."), &SinkDrop::drop, Syntax::NotInteractive);
43 drop.addPositionalArgument({.name = "resource", .help = "Id(s) of the resource(s) to drop", .required = true, .variadic = true});
44
45 drop.completer = &SinkshUtils::resourceOrTypeCompleter;
46 return Syntax::List() << drop;
47}
48
49REGISTER_SYNTAX(SinkDrop)
50
38bool drop(const QStringList &args, State &state) 51bool drop(const QStringList &args, State &state)
39{ 52{
40 if (args.isEmpty()) { 53 if (args.isEmpty()) {
41 state.printError(QObject::tr("Please provide at least one resource to drop.")); 54 state.printError(syntax()[0].usage());
42 return false; 55 return false;
43 } 56 }
44 57
@@ -57,13 +70,4 @@ bool drop(const QStringList &args, State &state)
57 return false; 70 return false;
58} 71}
59 72
60Syntax::List syntax()
61{
62 Syntax drop("drop", QObject::tr("Drop all caches of a resource."), &SinkDrop::drop, Syntax::NotInteractive);
63 drop.completer = &SinkshUtils::resourceOrTypeCompleter;
64 return Syntax::List() << drop;
65}
66
67REGISTER_SYNTAX(SinkDrop)
68
69} 73}