summaryrefslogtreecommitdiff
path: root/src/option_manager.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-04-12 20:03:26 +0100
committerMaxime Coste <frrrwww@gmail.com>2014-04-12 20:03:26 +0100
commit9ff356cb2b3b09952b3685ce54a20eea832f1b97 (patch)
tree86a1011c0c55779dcf2863535d108a15651d1fa9 /src/option_manager.cc
parente9276a0a85d0f2798afdb6cdefa5994f25277d3f (diff)
Extract option descriptions in an shared OptionDesc class
Diffstat (limited to 'src/option_manager.cc')
-rw-r--r--src/option_manager.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/option_manager.cc b/src/option_manager.cc
index 414e7f15..ca9c145b 100644
--- a/src/option_manager.cc
+++ b/src/option_manager.cc
@@ -7,10 +7,12 @@
namespace Kakoune
{
-Option::Option(OptionManager& manager, String name, String docstring,
- Flags flags)
- : m_manager(manager), m_name(std::move(name)),
- m_docstring(std::move(docstring)), m_flags(flags) {}
+OptionDesc::OptionDesc(String name, String docstring, OptionFlags flags)
+ : m_name(std::move(name)), m_docstring(std::move(docstring)),
+ m_flags(flags) {}
+
+Option::Option(const OptionDesc& desc, OptionManager& manager)
+ : m_manager(manager), m_desc(desc) {}
OptionManager::OptionManager(OptionManager& parent)
: m_parent(&parent)
@@ -73,7 +75,7 @@ CandidateList OptionManager::get_matching_names(MatchingFunc func)
result = m_parent->get_matching_names(func);
for (auto& option : m_options)
{
- if (option->flags() & Option::Flags::Hidden)
+ if (option->flags() & OptionFlags::Hidden)
continue;
const auto& name = option->name();
@@ -153,7 +155,7 @@ GlobalOptions::GlobalOptions()
std::vector<String>({ "./", "/usr/include" }));
declare_option("completers", "insert mode completers to execute.",
std::vector<String>({"filename", "word=buffer"}),
- Option::Flags::None,
+ OptionFlags::None,
OptionChecker<std::vector<String>>([](const std::vector<String>& s) {
static const auto values = {"word=buffer", "word=all", "filename"};
for (auto& v : s)