diff options
author | Minijackson <minijackson@riseup.net> | 2018-08-02 10:40:35 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2018-08-02 10:40:35 +0200 |
commit | eb4c557efa38673eba773bda6b71a286d0c3c3b1 (patch) | |
tree | 570600682e6a21f6f5edefab880ef20f4f298e18 /sinksh/syntax_modules/sink_drop.cpp | |
parent | a24bf3db83d81d7d7677a1f0f750f208d32998a8 (diff) | |
download | sink-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.cpp | 24 |
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 @@ | |||
35 | namespace SinkDrop | 35 | namespace SinkDrop |
36 | { | 36 | { |
37 | 37 | ||
38 | bool drop(const QStringList &args, State &state); | ||
39 | |||
40 | Syntax::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 | |||
49 | REGISTER_SYNTAX(SinkDrop) | ||
50 | |||
38 | bool drop(const QStringList &args, State &state) | 51 | bool 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 | ||
60 | Syntax::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 | |||
67 | REGISTER_SYNTAX(SinkDrop) | ||
68 | |||
69 | } | 73 | } |