diff options
author | 2014-11-08 09:52:40 +0900 | |
---|---|---|
committer | 2014-11-15 09:58:19 +0900 | |
commit | 79273b04772824a8c547e1a8d33900040a03264b (patch) | |
tree | fcc6b49f99fdc200ef83e80900f5991eb6795000 /native/dicttoolkit/src/command_executors/info_executor.cpp | |
parent | 80c4e0f68a1c7444f3394df8c15f53c420b99792 (diff) | |
download | latinime-79273b04772824a8c547e1a8d33900040a03264b.tar.gz latinime-79273b04772824a8c547e1a8d33900040a03264b.tar.xz latinime-79273b04772824a8c547e1a8d33900040a03264b.zip |
Define arguments for commands in dicttoolkit.
Bug: 10059681
Change-Id: I1ceaeeaa9e2055c357fe969818498de9d6288862
Diffstat (limited to 'native/dicttoolkit/src/command_executors/info_executor.cpp')
-rw-r--r-- | native/dicttoolkit/src/command_executors/info_executor.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/native/dicttoolkit/src/command_executors/info_executor.cpp b/native/dicttoolkit/src/command_executors/info_executor.cpp index c4d84cab3..351da4aff 100644 --- a/native/dicttoolkit/src/command_executors/info_executor.cpp +++ b/native/dicttoolkit/src/command_executors/info_executor.cpp @@ -17,6 +17,9 @@ #include "command_executors/info_executor.h" #include <cstdio> +#include <string> +#include <unordered_map> +#include <vector> namespace latinime { namespace dicttoolkit { @@ -30,8 +33,21 @@ const char *const InfoExecutor::COMMAND_NAME = "info"; /* static */ void InfoExecutor::printUsage() { printf("*** %s\n", COMMAND_NAME); - printf("Usage: %s\n", COMMAND_NAME); - printf("Prints various information about a dictionary file.\n\n"); + getArgumentsParser().printUsage(COMMAND_NAME, + "Prints various information about a dictionary file."); +} + +/* static */const ArgumentsParser InfoExecutor::getArgumentsParser() { + std::unordered_map<std::string, OptionSpec> optionSpecs; + optionSpecs["p"] = OptionSpec::switchOption("(plumbing) produce output suitable for a script"); + + const std::vector<ArgumentSpec> argumentSpecs = { + ArgumentSpec::singleArgument("dict", "dictionary file name"), + ArgumentSpec::variableLengthArguments("word", 0 /* minCount */, + ArgumentSpec::UNLIMITED_COUNT, "word to show information") + }; + + return ArgumentsParser(std::move(optionSpecs), std::move(argumentSpecs)); } } // namespace dicttoolkit |