Esempio n. 1
0
 /// <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);
 }
Esempio n. 2
0
        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;
                    }
            }
        }