summaryrefslogtreecommitdiff
path: root/src/command_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/command_manager.cc')
-rw-r--r--src/command_manager.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/command_manager.cc b/src/command_manager.cc
index 5663b1e3..0f3cb749 100644
--- a/src/command_manager.cc
+++ b/src/command_manager.cc
@@ -41,6 +41,15 @@ void CommandManager::register_command(String command_name,
std::move(completer) };
}
+void CommandManager::set_command_completer(StringView command_name, CommandCompleter completer)
+{
+ auto it = m_commands.find(command_name);
+ if (it == m_commands.end())
+ throw runtime_error(format("no such command '{}'", command_name));
+
+ it->value.completer = std::move(completer);
+}
+
bool CommandManager::module_defined(StringView module_name) const
{
return m_modules.find(module_name) != m_modules.end();