|
|
@ -429,14 +429,37 @@ command_result Core::runCommand(color_ostream &out, const std::string &command)
|
|
|
|
return CR_NOT_IMPLEMENTED;
|
|
|
|
return CR_NOT_IMPLEMENTED;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// List of built in commands
|
|
|
|
|
|
|
|
static const std::set<std::string> built_in_commands = {
|
|
|
|
|
|
|
|
"ls" ,
|
|
|
|
|
|
|
|
"help" ,
|
|
|
|
|
|
|
|
"type" ,
|
|
|
|
|
|
|
|
"load" ,
|
|
|
|
|
|
|
|
"unload" ,
|
|
|
|
|
|
|
|
"reload" ,
|
|
|
|
|
|
|
|
"enable" ,
|
|
|
|
|
|
|
|
"disable" ,
|
|
|
|
|
|
|
|
"plug" ,
|
|
|
|
|
|
|
|
"keybinding" ,
|
|
|
|
|
|
|
|
"alias" ,
|
|
|
|
|
|
|
|
"fpause" ,
|
|
|
|
|
|
|
|
"cls" ,
|
|
|
|
|
|
|
|
"die" ,
|
|
|
|
|
|
|
|
"kill-lua" ,
|
|
|
|
|
|
|
|
"script" ,
|
|
|
|
|
|
|
|
"hide" ,
|
|
|
|
|
|
|
|
"show" ,
|
|
|
|
|
|
|
|
"sc-script"
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
static bool try_autocomplete(color_ostream &con, const std::string &first, std::string &completed)
|
|
|
|
static bool try_autocomplete(color_ostream &con, const std::string &first, std::string &completed)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
std::vector<std::string> possible;
|
|
|
|
std::vector<std::string> possible;
|
|
|
|
|
|
|
|
|
|
|
|
// Check for possible built in commands to autocomplete first
|
|
|
|
// Check for possible built in commands to autocomplete first
|
|
|
|
for (auto iter = built_in_commands.begin(); iter != built_in_commands.end(); ++iter)
|
|
|
|
for (auto const &command : built_in_commands)
|
|
|
|
if (iter->substr(0, first.size()) == first)
|
|
|
|
if (command.substr(0, first.size()) == first)
|
|
|
|
possible.push_back(*iter);
|
|
|
|
possible.push_back(command);
|
|
|
|
|
|
|
|
|
|
|
|
auto plug_mgr = Core::getInstance().getPluginManager();
|
|
|
|
auto plug_mgr = Core::getInstance().getPluginManager();
|
|
|
|
for (auto it = plug_mgr->begin(); it != plug_mgr->end(); ++it)
|
|
|
|
for (auto it = plug_mgr->begin(); it != plug_mgr->end(); ++it)
|
|
|
|