aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/all.h2
-rw-r--r--include/option.h10
-rw-r--r--include/util/option_parse.h21
3 files changed, 33 insertions, 0 deletions
diff --git a/include/all.h b/include/all.h
index 67759cc..8c0d6f9 100644
--- a/include/all.h
+++ b/include/all.h
@@ -5,6 +5,7 @@
#include "util/prompt.h"
#include "util/string.h"
#include "util/color.h"
+#include "util/option_parse.h"
#include "eval.h"
#include "global.h"
#include "ground.h"
@@ -13,3 +14,4 @@
#include "job.h"
#include "parse.h"
#include "path.h"
+#include "option.h"
diff --git a/include/option.h b/include/option.h
new file mode 100644
index 0000000..b089012
--- /dev/null
+++ b/include/option.h
@@ -0,0 +1,10 @@
+#pragma once
+
+#include <string>
+
+namespace ov4::option
+{
+
+void v(std::string s);
+
+}
diff --git a/include/util/option_parse.h b/include/util/option_parse.h
new file mode 100644
index 0000000..c68c549
--- /dev/null
+++ b/include/util/option_parse.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include <string>
+#include <unordered_map>
+#include <functional>
+#include <utility>
+
+#include "option.h"
+
+namespace ov4
+{
+
+inline const std::unordered_map<std::string, std::function<void(std::string s)>> option_list =
+{
+ {"-v", ov4::option::v},
+};
+
+void exe_option(char **c_argv);
+std::pair<std::string, std::string> option_split(std::string s);
+
+}