From c007e84621766e48bafc6e6c229fcfc8547ff370 Mon Sep 17 00:00:00 2001 From: Jim Ingham Date: Wed, 2 May 2012 01:12:54 +0000 Subject: [PATCH] If a command takes options and arguments, the help text should warn the user to use "--" to terminate the options. llvm-svn: 155973 --- lldb/source/Commands/CommandObjectHelp.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lldb/source/Commands/CommandObjectHelp.cpp b/lldb/source/Commands/CommandObjectHelp.cpp index 8428e4fd1832..7f379d6b2c43 100644 --- a/lldb/source/Commands/CommandObjectHelp.cpp +++ b/lldb/source/Commands/CommandObjectHelp.cpp @@ -158,12 +158,24 @@ CommandObjectHelp::Execute (Args& command, CommandReturnObject &result) if ((long_help != NULL) && (strlen (long_help) > 0)) output_strm.Printf ("\n%s", long_help); - // Emit the message about using ' -- ' between the end of the command options and the raw input - // conditionally, i.e., only if the command object does not want completion. if (sub_cmd_obj->WantsRawCommandString() && !sub_cmd_obj->WantsCompletion()) { - m_interpreter.OutputFormattedHelpText (output_strm, "", "", "\nIMPORTANT NOTE: Because this command takes 'raw' input, if you use any command options you must use ' -- ' between the end of the command options and the beginning of the raw input.", 1); + // Emit the message about using ' -- ' between the end of the command options and the raw input + // conditionally, i.e., only if the command object does not want completion. + m_interpreter.OutputFormattedHelpText (output_strm, "", "", + "\nIMPORTANT NOTE: Because this command takes 'raw' input, if you use any command options" + " you must use ' -- ' between the end of the command options and the beginning of the raw input.", 1); } + else if (sub_cmd_obj->GetNumArgumentEntries() > 0 + && sub_cmd_obj->GetOptions() + && sub_cmd_obj->GetOptions()->NumCommandOptions() > 0) + { + // Also emit a warning about using "--" in case you are using a command that takes options and arguments. + m_interpreter.OutputFormattedHelpText (output_strm, "", "", + "\nThis command takes options and arguments, if your arguments look like option specifiers" + " you must use '--' to terminate the options before starting to give the arguments.", 1); + } + // Mark this help command with a success status. result.SetStatus (eReturnStatusSuccessFinishNoResult); }