protected override void Executed(Params args, IConsoleOutput target) { Command[] enabledCommands = AllCommandsInternal.Where(i => i.IsEnabled).ToArray(); if (args.Count == 0) { Executed(new Params(new string[] { 1.ToString() }), target); return; } if (args.IsInteger(0)) { target.WriteLine("Listing commands at page " + args.ToInt(0) + " of " + GetPageCount()); for (int i = (args.ToInt(0) - 1) * 5; i < (args.ToInt(0) - 1) * 5 + 5 && i < enabledCommands.Length; i++) { target.WriteLine("* " + enabledCommands[i].Name + ": " + enabledCommands[i].HelpDescription); } } else { Command cmd = GetByName(args.JoinEnd(0)); target.WriteLine(cmd.Name); target.WriteLine("* " + cmd.HelpDescription); string sstring = cmd.GetSyntax(new Params(new string[0])).CreateSyntaxString(); target.WriteWarning("* Syntax: "); foreach (string i in sstring.Split('\n')) { target.WriteWarning("* " + i); } } }
/// <summary> /// Finds and returns a command by name /// </summary> /// <param name="name">Name of command</param> /// <param name="includeDisabled">Will the search include commands that have been disabled?</param> /// <returns></returns> public static Command GetByName(string name, bool includeDisabled) { if (!includeDisabled) { return(GetByName(name)); } name = name.Trim(); return(AllCommandsInternal.Where(i => i.Name.ToUpper() == name.ToUpper()).LastOrDefault()); }
/// <summary> /// Finds and returns a command by its typecode /// </summary> /// <typeparam name="C">Type of command to find</typeparam> /// <returns></returns> public static Command GetByType <C>() where C : Command { return(AllCommandsInternal.Where(i => i.GetType() == typeof(C)).LastOrDefault()); }
/// <summary> /// Finds and returns a command by name /// </summary> /// <param name="name">Name of command</param> /// <returns></returns> public static Command GetByName(string name) { name = name.Trim(); return(AllCommandsInternal.Where(i => i.Name.ToUpper() == name.ToUpper() && i.IsEnabled).LastOrDefault()); }