aboutsummaryrefslogtreecommitdiffstats
path: root/native/dicttoolkit/dict_toolkit_main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'native/dicttoolkit/dict_toolkit_main.cpp')
-rw-r--r--native/dicttoolkit/dict_toolkit_main.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/native/dicttoolkit/dict_toolkit_main.cpp b/native/dicttoolkit/dict_toolkit_main.cpp
index d71b50eb4..53cc5e915 100644
--- a/native/dicttoolkit/dict_toolkit_main.cpp
+++ b/native/dicttoolkit/dict_toolkit_main.cpp
@@ -16,8 +16,24 @@
#include <cstdio>
+#include "dict_toolkit_defines.h"
+#include "utils/command_utils.h"
+
+void usage(int argc, char **argv) {
+ fprintf(stderr, "Usage: %s <command> [arguments]\n", argc > 0 ? argv[0] : "dicttoolkit");
+}
+
int main(int argc, char **argv) {
- // TODO: Implement.
- printf("%s\n", argv[0]);
- return 0;
+ if (argc < MIN_ARG_COUNT) {
+ usage(argc, argv);
+ return 1;
+ }
+ using namespace latinime::dicttoolkit;
+ const CommandType commandType = CommandUtils::getCommandType(argv[1]);
+ if (commandType == CommandType::Unknown) {
+ CommandUtils::printCommandUnknownMessage(argv[0], argv[1]);
+ return 1;
+ }
+ const auto executor = CommandUtils::getCommandExecutor(commandType);
+ return executor(argc - 1, argv + 1);
}