diff options
Diffstat (limited to 'sinksh/syntax_modules/sink_count.cpp')
-rw-r--r-- | sinksh/syntax_modules/sink_count.cpp | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/sinksh/syntax_modules/sink_count.cpp b/sinksh/syntax_modules/sink_count.cpp index 04a9550..aaa9c33 100644 --- a/sinksh/syntax_modules/sink_count.cpp +++ b/sinksh/syntax_modules/sink_count.cpp | |||
@@ -37,12 +37,28 @@ | |||
37 | namespace SinkCount | 37 | namespace SinkCount |
38 | { | 38 | { |
39 | 39 | ||
40 | bool count(const QStringList &args, State &state); | ||
41 | |||
42 | Syntax::List syntax() | ||
43 | { | ||
44 | Syntax count("count", QObject::tr("Returns the number of items of a given type in a resource"), &SinkCount::count, Syntax::EventDriven); | ||
45 | |||
46 | count.addPositionalArgument({.name = "type", .help = "The entity type to count"}); | ||
47 | count.addPositionalArgument({.name = "resource", .help = "A resource id where to count", .required = false}); | ||
48 | |||
49 | count.completer = &SinkshUtils::typeCompleter; | ||
50 | |||
51 | return Syntax::List() << count; | ||
52 | } | ||
53 | |||
54 | REGISTER_SYNTAX(SinkCount) | ||
55 | |||
40 | bool count(const QStringList &args, State &state) | 56 | bool count(const QStringList &args, State &state) |
41 | { | 57 | { |
42 | Sink::Query query; | 58 | Sink::Query query; |
43 | query.setId("count"); | 59 | query.setId("count"); |
44 | if (!SinkshUtils::applyFilter(query, SyntaxTree::parseOptions(args))) { | 60 | if (!SinkshUtils::applyFilter(query, SyntaxTree::parseOptions(args))) { |
45 | state.printError(QObject::tr("Options: $type $filter")); | 61 | state.printError(syntax()[0].usage()); |
46 | return false; | 62 | return false; |
47 | } | 63 | } |
48 | 64 | ||
@@ -61,14 +77,4 @@ bool count(const QStringList &args, State &state) | |||
61 | return true; | 77 | return true; |
62 | } | 78 | } |
63 | 79 | ||
64 | Syntax::List syntax() | ||
65 | { | ||
66 | Syntax count("count", QObject::tr("Returns the number of items of a given type in a resource. Usage: count <type> <resource>"), &SinkCount::count, Syntax::EventDriven); | ||
67 | count.completer = &SinkshUtils::typeCompleter; | ||
68 | |||
69 | return Syntax::List() << count; | ||
70 | } | ||
71 | |||
72 | REGISTER_SYNTAX(SinkCount) | ||
73 | |||
74 | } | 80 | } |