aboutsummaryrefslogtreecommitdiffstats
path: root/native/dicttoolkit/src/command_executors
diff options
context:
space:
mode:
Diffstat (limited to 'native/dicttoolkit/src/command_executors')
-rw-r--r--native/dicttoolkit/src/command_executors/diff_executor.cpp15
-rw-r--r--native/dicttoolkit/src/command_executors/diff_executor.h2
-rw-r--r--native/dicttoolkit/src/command_executors/header_executor.cpp14
-rw-r--r--native/dicttoolkit/src/command_executors/header_executor.h2
-rw-r--r--native/dicttoolkit/src/command_executors/info_executor.cpp20
-rw-r--r--native/dicttoolkit/src/command_executors/info_executor.h2
-rw-r--r--native/dicttoolkit/src/command_executors/makedict_executor.cpp21
-rw-r--r--native/dicttoolkit/src/command_executors/makedict_executor.h2
8 files changed, 69 insertions, 9 deletions
diff --git a/native/dicttoolkit/src/command_executors/diff_executor.cpp b/native/dicttoolkit/src/command_executors/diff_executor.cpp
index 077a40090..bf6830686 100644
--- a/native/dicttoolkit/src/command_executors/diff_executor.cpp
+++ b/native/dicttoolkit/src/command_executors/diff_executor.cpp
@@ -30,8 +30,19 @@ const char *const DiffExecutor::COMMAND_NAME = "diff";
/* static */ void DiffExecutor::printUsage() {
printf("*** %s\n", COMMAND_NAME);
- printf("Usage: %s\n", COMMAND_NAME);
- printf("Shows differences between two dictionaries.\n\n");
+ getArgumentsParser().printUsage(COMMAND_NAME, "Shows differences between two dictionaries.");
+}
+
+/* static */ const ArgumentsParser DiffExecutor::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("dict1", "dictionary file"),
+ ArgumentSpec::singleArgument("dict2", "dictionary file")
+ };
+
+ return ArgumentsParser(std::move(optionSpecs), std::move(argumentSpecs));
}
} // namespace dicttoolkit
diff --git a/native/dicttoolkit/src/command_executors/diff_executor.h b/native/dicttoolkit/src/command_executors/diff_executor.h
index fc8dc0d8f..f92ae49d5 100644
--- a/native/dicttoolkit/src/command_executors/diff_executor.h
+++ b/native/dicttoolkit/src/command_executors/diff_executor.h
@@ -18,6 +18,7 @@
#define LATINIME_DICT_TOOLKIT_DIFF_EXECUTOR_H
#include "dict_toolkit_defines.h"
+#include "utils/arguments_parser.h"
namespace latinime {
namespace dicttoolkit {
@@ -28,6 +29,7 @@ class DiffExecutor final {
static int run(const int argc, char **argv);
static void printUsage();
+ static const ArgumentsParser getArgumentsParser();
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(DiffExecutor);
diff --git a/native/dicttoolkit/src/command_executors/header_executor.cpp b/native/dicttoolkit/src/command_executors/header_executor.cpp
index 068a62c31..b3d273b4e 100644
--- a/native/dicttoolkit/src/command_executors/header_executor.cpp
+++ b/native/dicttoolkit/src/command_executors/header_executor.cpp
@@ -30,9 +30,19 @@ const char *const HeaderExecutor::COMMAND_NAME = "header";
/* static */ void HeaderExecutor::printUsage() {
printf("*** %s\n", COMMAND_NAME);
- printf("Usage: %s\n", COMMAND_NAME);
- printf("Prints the header contents of a dictionary file.\n\n");
+ getArgumentsParser().printUsage(COMMAND_NAME,
+ "Prints the header contents of a dictionary file.");
}
+/* static */ const ArgumentsParser HeaderExecutor::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", "prints the header contents of a dictionary file")
+ };
+
+ return ArgumentsParser(std::move(optionSpecs), std::move(argumentSpecs));
+}
} // namespace dicttoolkit
} // namespace latinime
diff --git a/native/dicttoolkit/src/command_executors/header_executor.h b/native/dicttoolkit/src/command_executors/header_executor.h
index 4cdeb1a99..44cc9cfc4 100644
--- a/native/dicttoolkit/src/command_executors/header_executor.h
+++ b/native/dicttoolkit/src/command_executors/header_executor.h
@@ -18,6 +18,7 @@
#define LATINIME_DICT_TOOLKIT_HEADER_EXECUTOR_H
#include "dict_toolkit_defines.h"
+#include "utils/arguments_parser.h"
namespace latinime {
namespace dicttoolkit {
@@ -28,6 +29,7 @@ class HeaderExecutor final {
static int run(const int argc, char **argv);
static void printUsage();
+ static const ArgumentsParser getArgumentsParser();
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(HeaderExecutor);
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
diff --git a/native/dicttoolkit/src/command_executors/info_executor.h b/native/dicttoolkit/src/command_executors/info_executor.h
index 4ffa74fb0..d4106d59f 100644
--- a/native/dicttoolkit/src/command_executors/info_executor.h
+++ b/native/dicttoolkit/src/command_executors/info_executor.h
@@ -18,6 +18,7 @@
#define LATINIME_DICT_TOOLKIT_INFO_EXECUTOR_H
#include "dict_toolkit_defines.h"
+#include "utils/arguments_parser.h"
namespace latinime {
namespace dicttoolkit {
@@ -28,6 +29,7 @@ class InfoExecutor final {
static int run(const int argc, char **argv);
static void printUsage();
+ static const ArgumentsParser getArgumentsParser();
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(InfoExecutor);
diff --git a/native/dicttoolkit/src/command_executors/makedict_executor.cpp b/native/dicttoolkit/src/command_executors/makedict_executor.cpp
index ea62e3c37..8a84e8069 100644
--- a/native/dicttoolkit/src/command_executors/makedict_executor.cpp
+++ b/native/dicttoolkit/src/command_executors/makedict_executor.cpp
@@ -30,10 +30,25 @@ const char *const MakedictExecutor::COMMAND_NAME = "makedict";
/* static */ void MakedictExecutor::printUsage() {
printf("*** %s\n", COMMAND_NAME);
- printf("Usage: %s\n", COMMAND_NAME);
- printf("Converts a source dictionary file to one or several outputs.\n"
+ getArgumentsParser().printUsage(COMMAND_NAME,
+ "Converts a source dictionary file to one or several outputs.\n"
"Source can be a binary dictionary file or a combined format file.\n"
- "Binary version 2 (Jelly Bean), 4, and combined format outputs are supported.\n\n");
+ "Binary version 2 (Jelly Bean), 4, and combined format outputs are supported.");
+}
+
+/* static */const ArgumentsParser MakedictExecutor::getArgumentsParser() {
+ std::unordered_map<std::string, OptionSpec> optionSpecs;
+ optionSpecs["o"] = OptionSpec::keyValueOption("format", "2",
+ "output format version: 2/4/combined");
+ optionSpecs["t"] = OptionSpec::keyValueOption("mode", "off",
+ "code point table switch: on/off/auto");
+
+ const std::vector<ArgumentSpec> argumentSpecs = {
+ ArgumentSpec::singleArgument("src_dict", "source dictionary file"),
+ ArgumentSpec::singleArgument("dest_dict", "output dictionary file")
+ };
+
+ return ArgumentsParser(std::move(optionSpecs), std::move(argumentSpecs));
}
} // namespace dicttoolkit
diff --git a/native/dicttoolkit/src/command_executors/makedict_executor.h b/native/dicttoolkit/src/command_executors/makedict_executor.h
index ae1309f60..c3de977a3 100644
--- a/native/dicttoolkit/src/command_executors/makedict_executor.h
+++ b/native/dicttoolkit/src/command_executors/makedict_executor.h
@@ -18,6 +18,7 @@
#define LATINIME_DICT_TOOLKIT_MAKEDICT_EXECUTOR_H
#include "dict_toolkit_defines.h"
+#include "utils/arguments_parser.h"
namespace latinime {
namespace dicttoolkit {
@@ -28,6 +29,7 @@ class MakedictExecutor final {
static int run(const int argc, char **argv);
static void printUsage();
+ static const ArgumentsParser getArgumentsParser();
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(MakedictExecutor);