summaryrefslogtreecommitdiff
path: root/src/command_manager.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-02-08 19:04:20 +0000
committerMaxime Coste <frrrwww@gmail.com>2015-02-08 19:04:20 +0000
commita94c554a7bd9c290b6ba19f65e95c3dd62f65ce0 (patch)
tree1cc1dc1354129b9658489bd2bb2a10b873803758 /src/command_manager.hh
parent0a2f2c2247a5226978b997b9c160e0f8716a4883 (diff)
Add optional helper for commands, to get parameter dependent help
Use for the set command to document options.
Diffstat (limited to 'src/command_manager.hh')
-rw-r--r--src/command_manager.hh4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/command_manager.hh b/src/command_manager.hh
index 75b15567..3226449e 100644
--- a/src/command_manager.hh
+++ b/src/command_manager.hh
@@ -24,6 +24,8 @@ using CommandCompleter = std::function<Completions (const Context& context,
CompletionFlags,
CommandParameters,
size_t, ByteCount)>;
+using CommandHelper = std::function<String (const Context& context, CommandParameters)>;
+
enum class CommandFlags
{
None = 0,
@@ -74,6 +76,7 @@ public:
String docstring,
ParameterDesc param_desc,
CommandFlags flags = CommandFlags::None,
+ CommandHelper helper = CommandHelper(),
CommandCompleter completer = CommandCompleter());
private:
@@ -86,6 +89,7 @@ private:
String docstring;
ParameterDesc param_desc;
CommandFlags flags;
+ CommandHelper helper;
CommandCompleter completer;
};
using CommandMap = UnorderedMap<String, CommandDescriptor, MemoryDomain::Commands>;