Allow the user to enter help topics in upper or lowercase.

Forcing uppercase (e.g. help Assets) is too annoying.
Thanks to WhiteStar for pointing this out.
0.7.4.1
Justin Clark-Casey (justincc) 2012-03-24 03:07:01 +00:00
parent f03c3c062e
commit 4f17537555
2 changed files with 18 additions and 15 deletions

View File

@ -188,19 +188,21 @@ namespace OpenSim.Framework.Console
{ {
lock (m_modulesCommands) lock (m_modulesCommands)
{ {
if (m_modulesCommands.ContainsKey(moduleName)) foreach (string key in m_modulesCommands.Keys)
{ {
List<CommandInfo> commands = m_modulesCommands[moduleName]; // Allow topic help requests to succeed whether they are upper or lowercase.
if (moduleName.ToLower() == key.ToLower())
{
List<CommandInfo> commands = m_modulesCommands[key];
var ourHelpText = commands.ConvertAll(c => string.Format("{0} - {1}", c.help_text, c.long_help)); var ourHelpText = commands.ConvertAll(c => string.Format("{0} - {1}", c.help_text, c.long_help));
ourHelpText.Sort(); ourHelpText.Sort();
helpText.AddRange(ourHelpText); helpText.AddRange(ourHelpText);
return true; return true;
} }
else
{
return false;
} }
return false;
} }
} }

View File

@ -248,15 +248,16 @@ namespace OpenSim
{ {
string capitalizedTopic = char.ToUpper(topic[0]) + topic.Substring(1); string capitalizedTopic = char.ToUpper(topic[0]) + topic.Substring(1);
// This is a hack to allow the user to enter the help command in upper or lowercase. This will go
// away at some point.
m_console.Commands.AddCommand(capitalizedTopic, false, "help " + topic,
"help " + capitalizedTopic,
"Get help on plugin command '" + topic + "'",
HandleCommanderHelp);
m_console.Commands.AddCommand(capitalizedTopic, false, "help " + capitalizedTopic, m_console.Commands.AddCommand(capitalizedTopic, false, "help " + capitalizedTopic,
"help " + capitalizedTopic, "help " + capitalizedTopic,
"Get help on plugin command '" + topic + "'", "Get help on plugin command '" + topic + "'",
HandleCommanderHelp); HandleCommanderHelp);
//
// m_console.Commands.AddCommand("General", false, topic,
// topic,
// "Execute subcommand for plugin '" + topic + "'",
// null);
ICommander commander = null; ICommander commander = null;