Author: enrico Date: Fri Apr 8 12:56:57 2016 New Revision: 265820 URL: http://llvm.org/viewvc/llvm-project?rev=265820&view=rev Log: Cleanups to command alias to refer to itself as 'command alias' and not allow to make aliases starting with a - as that isn't really supported, and is most often a mistake (trying to pass options)
Modified: lldb/trunk/source/Commands/CommandObjectCommands.cpp Modified: lldb/trunk/source/Commands/CommandObjectCommands.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectCommands.cpp?rev=265820&r1=265819&r2=265820&view=diff ============================================================================== --- lldb/trunk/source/Commands/CommandObjectCommands.cpp (original) +++ lldb/trunk/source/Commands/CommandObjectCommands.cpp Fri Apr 8 12:56:57 2016 @@ -631,7 +631,7 @@ protected: { if (!raw_command_line || !raw_command_line[0]) { - result.AppendError ("'alias' requires at least two arguments"); + result.AppendError ("'command alias' requires at least two arguments"); return false; } @@ -686,7 +686,7 @@ protected: if (argc < 2) { - result.AppendError ("'alias' requires at least two arguments"); + result.AppendError ("'command alias' requires at least two arguments"); result.SetStatus (eReturnStatusFailed); return false; } @@ -694,6 +694,17 @@ protected: // Get the alias command. const std::string alias_command = args.GetArgumentAtIndex (0); + if (alias_command.size() > 1 && + alias_command[0] == '-') + { + result.AppendError("aliases starting with a dash are not supported"); + if (alias_command == "--help" || alias_command == "--long-help") + { + result.AppendWarning("if trying to pass options to 'command alias' add a -- at the end of the options"); + } + result.SetStatus (eReturnStatusFailed); + return false; + } // Strip the new alias name off 'raw_command_string' (leave it on args, which gets passed to 'Execute', which // does the stripping itself. @@ -724,12 +735,13 @@ protected: // Get CommandObject that is being aliased. The command name is read from the front of raw_command_string. // raw_command_string is returned with the name of the command object stripped off the front. + std::string original_raw_command_string(raw_command_string); CommandObject *cmd_obj = m_interpreter.GetCommandObjectForCommand (raw_command_string); if (!cmd_obj) { - result.AppendErrorWithFormat ("invalid command given to 'alias'. '%s' does not begin with a valid command." - " No alias created.", raw_command_string.c_str()); + result.AppendErrorWithFormat ("invalid command given to 'command alias'. '%s' does not begin with a valid command." + " No alias created.", original_raw_command_string.c_str()); result.SetStatus (eReturnStatusFailed); return false; } @@ -792,7 +804,7 @@ protected: if (argc < 2) { - result.AppendError ("'alias' requires at least two arguments"); + result.AppendError ("'command alias' requires at least two arguments"); result.SetStatus (eReturnStatusFailed); return false; } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits