/// <summary> /// Used internally by the alias command to execute aliases. /// </summary> /// <param name="console">The console.</param> /// <param name="cmd">The command.</param> private static void AliasExecution(ConsoleManager console, ExecutableCommand cmd) { CommandList commands = ScriptUtilities.ParseString(console.GetCommand(cmd.Name).Help); console.Execute(commands); }
public static void Help(ConsoleManager console, ExecutableCommand cmd) { switch (cmd.Arguments.Count) { default: throw new ArgumentException(string.Format("Wrong number of arguments for help (expected 0 or 1, got {0})", cmd.Arguments.Count)); case 0: { foreach (CommandInfo command in console.Commands.Values.OrderBy(i => i.Name)) { ConsoleManager.ConsoleLog.Info(string.Format("{0} - {1}", command.Usage, command.Help)); } break; } case 1: { string name = cmd.Arguments[0].Value; CommandInfo command = null; try { command = console.GetCommand(name); } catch (Exception) { ConsoleManager.ConsoleLog.Warn(string.Format("Unknown command \"{0}\"", name)); return; } ConsoleManager.ConsoleLog.Info(string.Format("{0} - {1}", command.Usage, command.Help)); break; } } }