Add alias information, including aliased command options &

arguments, to help text for alias commands.

llvm-svn: 117617
This commit is contained in:
Caroline Tice 2010-10-28 23:17:48 +00:00
parent dbaf18361e
commit e79417951b
2 changed files with 11 additions and 0 deletions

View File

@ -339,6 +339,7 @@ public:
if (!result.Succeeded() && result.GetStatus() != lldb::eReturnStatusStarted)
{
result.AppendError ("Unable to create requested command alias.\n");
return false;
}
}
@ -378,6 +379,7 @@ public:
{
result.AppendErrorWithFormat ("'%s' is not an existing command.\n", actual_command.c_str());
result.SetStatus (eReturnStatusFailed);
return false;
}
}

View File

@ -69,6 +69,8 @@ CommandObjectHelp::Execute (Args& command, CommandReturnObject &result)
// Get command object for the first command argument. Only search built-in command dictionary.
StringList matches;
cmd_obj = m_interpreter.GetCommandObject (command.GetArgumentAtIndex (0), &matches);
bool is_alias_command = m_interpreter.AliasExists (command.GetArgumentAtIndex (0));
std::string alias_name = command.GetArgumentAtIndex(0);
if (cmd_obj != NULL)
{
@ -155,6 +157,13 @@ CommandObjectHelp::Execute (Args& command, CommandReturnObject &result)
result.SetStatus (eReturnStatusSuccessFinishNoResult);
}
}
if (is_alias_command)
{
StreamString sstr;
m_interpreter.GetAliasHelp (alias_name.c_str(), cmd_obj->GetCommandName(), sstr);
result.GetOutputStream().Printf ("\n'%s' is an abbreviation for %s\n", alias_name.c_str(), sstr.GetData());
}
}
else if (matches.GetSize() > 0)
{