summaryrefslogtreecommitdiffstats
path: root/sinksh/syntax_modules/sink_clear.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_clear.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_clear.cpp')
-rw-r--r--sinksh/syntax_modules/sink_clear.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/sinksh/syntax_modules/sink_clear.cpp b/sinksh/syntax_modules/sink_clear.cpp
index e676dd6..536e9df 100644
--- a/sinksh/syntax_modules/sink_clear.cpp
+++ b/sinksh/syntax_modules/sink_clear.cpp
@@ -35,10 +35,25 @@
35namespace SinkClear 35namespace SinkClear
36{ 36{
37 37
38bool clear(const QStringList &args, State &state);
39
40Syntax::List syntax()
41{
42 Syntax clear("clear", QObject::tr("Clears the local cache of one or more resources (be careful!)"), &SinkClear::clear, Syntax::NotInteractive);
43
44 clear.addPositionalArgument({.name = "resource", .help = "The resource to clear"});
45
46 clear.completer = &SinkshUtils::resourceCompleter;
47
48 return Syntax::List() << clear;
49}
50
51REGISTER_SYNTAX(SinkClear)
52
38bool clear(const QStringList &args, State &state) 53bool clear(const QStringList &args, State &state)
39{ 54{
40 if (args.isEmpty()) { 55 if (args.isEmpty()) {
41 state.printError(QObject::tr("Please provide at least one resource to clear.")); 56 state.printError(syntax()[0].usage());
42 return false; 57 return false;
43 } 58 }
44 for (const auto &resource : args) { 59 for (const auto &resource : args) {
@@ -50,14 +65,4 @@ bool clear(const QStringList &args, State &state)
50 return true; 65 return true;
51} 66}
52 67
53Syntax::List syntax()
54{
55 Syntax clear("clear", QObject::tr("Clears the local cache of one or more resources (be careful!)"), &SinkClear::clear, Syntax::NotInteractive);
56 clear.completer = &SinkshUtils::resourceCompleter;
57
58 return Syntax::List() << clear;
59}
60
61REGISTER_SYNTAX(SinkClear)
62
63} 68}