Update GenerateAdditionalHelpAvenues to take StringRef.

llvm-svn: 287155
This commit is contained in:
Zachary Turner
2016-11-16 21:34:22 +00:00
parent add6ab5084
commit a49c2019f1
4 changed files with 24 additions and 19 deletions

View File

@@ -946,7 +946,7 @@ protected:
const bool generate_apropos = true;
const bool generate_type_lookup = false;
CommandObjectHelp::GenerateAdditionalHelpAvenuesMessage(
&error_msg_stream, command_name, nullptr, nullptr, generate_apropos,
&error_msg_stream, command_name, llvm::StringRef(), llvm::StringRef(), generate_apropos,
generate_type_lookup);
result.AppendError(error_msg_stream.GetString());
result.SetStatus(eReturnStatusFailed);

View File

@@ -25,21 +25,26 @@ using namespace lldb_private;
//-------------------------------------------------------------------------
void CommandObjectHelp::GenerateAdditionalHelpAvenuesMessage(
Stream *s, const char *command, const char *prefix, const char *subcommand,
Stream *s, llvm::StringRef command, llvm::StringRef prefix, llvm::StringRef subcommand,
bool include_apropos, bool include_type_lookup) {
if (s && command && *command) {
s->Printf("'%s' is not a known command.\n", command);
s->Printf("Try '%shelp' to see a current list of commands.\n",
prefix ? prefix : "");
if (include_apropos) {
s->Printf("Try '%sapropos %s' for a list of related commands.\n",
prefix ? prefix : "", subcommand ? subcommand : command);
}
if (include_type_lookup) {
s->Printf("Try '%stype lookup %s' for information on types, methods, "
"functions, modules, etc.",
prefix ? prefix : "", subcommand ? subcommand : command);
}
if (!s || command.empty())
return;
std::string command_str = command.str();
std::string prefix_str = prefix.str();
std::string subcommand_str = subcommand.str();
const std::string &lookup_str = !subcommand_str.empty() ? subcommand_str : command_str;
s->Printf("'%s' is not a known command.\n", command_str.c_str());
s->Printf("Try '%shelp' to see a current list of commands.\n",
prefix.str().c_str());
if (include_apropos) {
s->Printf("Try '%sapropos %s' for a list of related commands.\n",
prefix_str.c_str(), lookup_str.c_str());
}
if (include_type_lookup) {
s->Printf("Try '%stype lookup %s' for information on types, methods, "
"functions, modules, etc.",
prefix_str.c_str(), lookup_str.c_str());
}
}
@@ -198,7 +203,7 @@ bool CommandObjectHelp::DoExecute(Args &command, CommandReturnObject &result) {
StreamString error_msg_stream;
GenerateAdditionalHelpAvenuesMessage(&error_msg_stream,
command.GetArgumentAtIndex(0),
m_interpreter.GetCommandPrefix());
m_interpreter.GetCommandPrefix(), "");
result.AppendError(error_msg_stream.GetString());
result.SetStatus(eReturnStatusFailed);
}

View File

@@ -35,8 +35,8 @@ public:
StringList &matches) override;
static void GenerateAdditionalHelpAvenuesMessage(
Stream *s, const char *command, const char *prefix = nullptr,
const char *subcommand = nullptr, bool include_apropos = true,
Stream *s, llvm::StringRef command, llvm::StringRef prefix,
llvm::StringRef subcommand, bool include_apropos = true,
bool include_type_lookup = true);
class CommandOptions : public Options {

View File

@@ -93,7 +93,7 @@ bool CommandObjectSyntax::DoExecute(Args &command,
const bool generate_apropos = true;
const bool generate_type_lookup = false;
CommandObjectHelp::GenerateAdditionalHelpAvenuesMessage(
&error_msg_stream, cmd_string.c_str(), nullptr, nullptr,
&error_msg_stream, cmd_string, "", "",
generate_apropos, generate_type_lookup);
result.AppendErrorWithFormat("%s", error_msg_stream.GetData());
result.SetStatus(eReturnStatusFailed);