diff options
author | 2014-11-16 17:23:55 +0000 | |
---|---|---|
committer | 2014-11-16 17:23:56 +0000 | |
commit | e7a72de8c28662e7a7855528d80c6a22a15fbcde (patch) | |
tree | ca5f5758ed63ef4ba1a8b36417e6b16db103ba3d /native/dicttoolkit/src/command_executors/info_executor.cpp | |
parent | 37f5b0d4ff4e4abbd3f8da8b606aef7ac8340485 (diff) | |
parent | 79273b04772824a8c547e1a8d33900040a03264b (diff) | |
download | latinime-e7a72de8c28662e7a7855528d80c6a22a15fbcde.tar.gz latinime-e7a72de8c28662e7a7855528d80c6a22a15fbcde.tar.xz latinime-e7a72de8c28662e7a7855528d80c6a22a15fbcde.zip |
Merge "Define arguments for commands in dicttoolkit."
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 |