summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-10-21 18:57:48 +0100
committerMaxime Coste <frrrwww@gmail.com>2013-10-21 18:57:48 +0100
commit76deb60771d59c849fef6602fe697122e6847227 (patch)
tree68c28a6ce6617ecd54a62e87ed05008c2fcfde29 /src
parent60dbec49490981e4c7c8d2c2a4da98dc954a610c (diff)
Add YesNoAsk type for options
Diffstat (limited to 'src')
-rw-r--r--src/option_types.hh29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/option_types.hh b/src/option_types.hh
index 7156af69..a0f14f5c 100644
--- a/src/option_types.hh
+++ b/src/option_types.hh
@@ -171,6 +171,35 @@ bool option_add(T&, const T&)
throw runtime_error("no add operation supported for this option type");
}
+enum YesNoAsk
+{
+ Yes,
+ No,
+ Ask
+};
+
+inline String option_to_string(YesNoAsk opt)
+{
+ switch (opt)
+ {
+ case Yes: return "yes";
+ case No: return "no";
+ case Ask: return "ask";
+ }
+ kak_assert(false);
+ return "ask";
+}
+
+inline void option_from_string(const String& str, YesNoAsk& opt)
+{
+ if (str == "yes" or str == "true")
+ opt = Yes;
+ else if (str == "no" or str == "false")
+ opt = No;
+ else if (str == "ask")
+ opt = Ask;
+}
+
}
#endif // option_types_hh_INCLUDED